【发布时间】:2019-09-17 17:40:10
【问题描述】:
我有一个模板类:templClass,它接受一个类型并像常规模板类一样工作。我希望该班级成为另一个普通班级regClass 的成员。
regClass 有一个成员变量var,我希望在此基础上创建templClass 或type1 或type2:
所以如下
template <class T>
class templClass
{
//constructor
};
class regClass
{
public:
regClass()
{
// constructor for other members
}
int var;
templClass templClass_;
// if (var == 0)
// {I want templClass<type1>}
// else
// {I want templClass<type2>}
};
我怎样才能做到这一点?
上面的实现抛出编译器错误error: invalid use of template-name 'templClass' without an argument list
【问题讨论】:
-
你不能这样做。
-
也许告诉你要做什么会更好?看起来像 XY problem 的一个强案例。
标签: c++ class c++11 templates c++14