Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 foo.h 中有一个包含静态成员的类
class foo { public: static vector<int> a; static void Init() { // Init a } }
一切正常,直到我有一个正在测试类 foo 的测试文件 foo_test.cpp。但是在测试文件中,静态成员 a 不可见,因为静态成员只可见......我该如何解决这个问题?
谢谢
您需要定义a,在您的cpp文件中添加如下行:
a
cpp
vector<int> foo::a;
编辑:更改数据类型以反映问题中的编辑
如果你在作用域外调用 foo::Init() ,你会得到函数重新声明错误。如果你把它放在范围内,你会得到未解析的外部符号。您只能将其初始化为 int foo::a = 0;