【发布时间】:2015-03-29 11:15:38
【问题描述】:
作为一个使用模板的 C++ 初学者,我有一个问题,如果这很荒谬,请见谅。
在像这样的头文件中有一个模板:
template <class T> class MyClass
是否可以像这样在 main.cpp 中定义一个结构:
struct CC;
struct CC
{
MyClass (CC) p;
CC() : p(0){}
};
或者:
struct Foo {
MyClass<struct Foo> bar;
MyClass<std::string> text;
};
我对此非常迷茫。对不起。
【问题讨论】:
-
你试过了吗?顺便说一句,c ++不需要使用
struct Foo,但可以在你的MyClass<>中使用Foo -
这取决于
MyClass。如果它在任何地方都需要模板参数是一个完整的类(即可以应用sizeof),那么不需要。因为CC或Foo类在用作模板参数时并不完整。 -
@Cheersandhth.-Alf 我不明白...
标签: c++ class templates struct