【发布时间】:2021-08-30 15:11:15
【问题描述】:
我有这个代码:
#include <iostream>
template <typename T>
class Test {
public:
// Some code...
static int member;
};
int main()
{
std::cout << Test::member;
}
这当然行不通,因为倒数第二行缺少Test 的模板参数。
但由于member 不依赖于T,我希望在不提供模板参数的情况下使其可访问。
有什么办法吗?
【问题讨论】:
-
移出模板类
-
你的意思是全局变量@MooingDuck?
-
或者进入非模板
TestHelper类。 -
Test<int>::member和Test<float>::member是两个不同的对象。每个类都有自己的member,但Test<int>和Test<float>是两个不同的类。
标签: c++ class templates static