C ++静态成员,我该如何测试它

c++ static member, how do I test it

本文关键字:测试 何测试 静态成员      更新时间:2023-10-16

我在foo.h中有一个包含静态成员的类

class foo {
 public:
  static vector<int> a;
  static void Init() { // Init a }
}

一切正常,直到我有一个测试文件foo_test.cpp这是测试类 foo。但在测试文件,静态成员 A 不可见,因为静态成员仅可见...我该如何解决这个问题?

谢谢

您需要定义a ,在cpp文件中添加如下行:

vector<int> foo::a;
编辑

更改了数据类型以反映问题中的编辑

如果在作用域外调用 foo::Init(),将得到函数重新声明错误。如果将其放在示波器内,将获得未解析的外部符号。您只能将其初始化为 int foo::a = 0;