template class tc{ vector vt; }出错

cmexp 2008-02-29 11:14:25
继承应该解决不了.

例如我想这样
template <class T,class T2> class tc
{
vector<T> vt;
list<T2> vt2;
};

tc<A1> a1;

但编译总出错

\include\list(29) : error C2079: '_Value' uses undefined class 'A1'
...全文
146 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cmexp 2008-03-06
  • 打赏
  • 举报
回复
用 vs 03 05 通过了。

一直只用vc6试。
ttkk_2007 2008-03-06
  • 打赏
  • 举报
回复
你到底用的什么编译器,vs2005没问题。你用list不行?是不是没包含list头文件
cmexp 2008-03-06
  • 打赏
  • 举报
回复
这样会出错
template     <class   T2>     class   tc   
{
list <T2> vt2;
};

class A2{tc <A2> a1; };
abomber2 2008-03-06
  • 打赏
  • 举报
回复
A1,A2要一个类型,比如
tc <int,int> a1;
cmexp 2008-03-06
  • 打赏
  • 举报
回复
为什么用 list 就出错呢?
visame 2008-03-01
  • 打赏
  • 举报
回复
More code needed....
tc <A1> a1; ---->tc<A1,A2> a1;
????
poor programming style...bad variable names....
hj_etone 2008-03-01
  • 打赏
  • 举报
回复
低级错误!!
cmexp 2008-03-01
  • 打赏
  • 举报
回复
好像不用list就没问题
zenny_chen 2008-03-01
  • 打赏
  • 举报
回复

#include <vector>
#include <list>
using namespace std;

class A1{};
class A2{};

template <class T,class T2> class tc
{
vector <T> vt;
list <T2> vt2;
};


int main(void)
{
tc <A1,A2> a1;

return 0;
}



以上代码在VC++2005以及GCC3.4.2编译环境下均通过编译和运行。
不知楼主用的是何编译器。
cmexp 2008-03-01
  • 打赏
  • 举报
回复
template <class T,class T2> class tc
{
vector <T> vt;
list <T2> vt2;
};


class A1{ tc <A1,A2> a1; };
class A2{tc <A1,A2> a1; };

这句放在 class A1/A2 外就没事
tc <A1,A2> a1;
cmexp 2008-03-01
  • 打赏
  • 举报
回复
A1当然是class, 难道还会是变量不成.

我当然知道需要两个参数.

class A1{};
class A2{};

template <class T,class T2> class tc
{
vector <T> vt;
list <T2> vt2;
};

tc <A1,A2> a1;
编译出错
\include\vector(xx) : error C2079: '_Value' uses undefined class 'A1'
\include\list(29) : error C2079: '_Value' uses undefined class 'A2'


这样看得懂了吧
  • 打赏
  • 举报
回复
你写的模板需要两个参数.
dubiousway 2008-02-29
  • 打赏
  • 举报
回复
...... A1 到底是啥?

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧