模板问题

tigerlhp 2011-11-30 11:52:08
template <typename T>
class AA
{
public:
int iNum;
};

class BB : public AA<BB>
{
public:
int iBB;
};
以上没有问题,但是,如果BB也是摸板类就不行了

template <typename TT>
class BB : public AA<BB>
{
public:
int iBB;
};

编译不过,该怎么写??
...全文
116 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerlhp 2011-11-30
  • 打赏
  • 举报
回复
谢谢啦~
cgl_lgs 2011-11-30
  • 打赏
  • 举报
回复
如果少了空格,在用gcc时会提示:
错误:在嵌套模板实参列表中应当使用‘> >’而非‘>>’
cgl_lgs 2011-11-30
  • 打赏
  • 举报
回复
呵呵,空格绝对不能少的啊:)
tigerlhp 2011-11-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cgl_lgs 的回复:]
template <typename TT>
class BB : public AA<BB<TT> >
{
public:
int iBB;
};
[/Quote]

把 class BB : public AA<BB<TT> >
写成了 class BB : public AA<BB<TT>>
少了空格,晕啊~~~

cgl_lgs 2011-11-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tigerlhp 的回复:]

楼上的我试过了,无法编译!!
[/Quote]编译器?我用的是gcc 4.6,完全可以编译通过。
tigerlhp 2011-11-30
  • 打赏
  • 举报
回复
楼上的我试过了,无法编译!!
cgl_lgs 2011-11-30
  • 打赏
  • 举报
回复
template <typename TT>
class BB : public AA<BB<TT> >
{
public:
int iBB;
};
PointertoPointer 2011-11-30
  • 打赏
  • 举报
回复
错误的提示是什么?我刚接触模板,也不太明白。
不过看书上说定义模板的步骤
1先按常规法定义一个类,
2将类中希望改变的参数类型改为自己指定的虚拟参数类型
3在类声明开头加上 templae<class 虚拟类型1,class虚拟类型2>
4 最后定义 模板名<实际类型1,实际类型2> 对象名();

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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