class Example {
// ...
};
template <typename T, Example ex> //Error
class MyExample{
// ...
};
我的问题是为什么模板非类型参数不能是类类型?
我得到的错误是
错误:“class Example”不是模板常量参数的有效类型
最佳答案
很简单,因为这是规则。合理地,模板参数必须在编译时解析,并且类类型的对象仅在运行时构造(即使是临时对象和具有静态存储持续时间的对象)。您只能拥有在编译时可解析的“值”模板参数,例如整数和类型。不过,模板参数可以是指向对象的指针或引用。
关于c++ - 为什么模板非类型参数不能是类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4104147/