我有一个模板化的类,想从它外部访问一个公共静态变量,但如果不实例化模板,我想不出任何方法。这段代码:
template<class T>
class TemplatedClass {
public:
static const int static_member = 10;
};
...
int i = TemplatedClass::static_member;
产生以下错误:“'template class TemplatedClass' used without template parameters.”
如果我在访问变量时实例化类:
int i = TemplatedClass<int>::static_member;
错误消失。我宁愿不必在使用虚拟类型参数并没有真正意义的上下文中实例化模板,只是为了抑制错误。如果必须,最好使用什么虚拟类型?我尝试了 <> 和 <void>,但都没有成功。