【发布时间】:2019-11-15 11:02:35
【问题描述】:
模板类派生自具有静态数据成员的非模板类。为什么我不能在不指定模板参数的情况下访问它?实际上,我可以在没有模板参数的情况下访问模板类中的任何方法或数据吗?
class CNonTemplateBase{
public:
static int some_data;
};
int CNonTemplateBase::some_data = 10;
template<typename T> class CTemplateClass : public CNonTemplateBase{};
...
...
int a = CTemplateClass<int>::some_data; //OK
int b = CTemplateClass::some_data; //ERROR
【问题讨论】:
-
那么对于
template<> class CTemplateClass<double> { static constexpr int some_data = 20; },b应该等于什么?
标签: c++ templates inheritance