我在" a.h":
中有一个A班#include "b.h"
class A {
public:
static B b;
}
我想在另一个函数中初始化b
在" main.cpp":
#include "a.h"
#include "b.h"
int main () {
....
B A::b = B(arg1, arg2);
但是语法检查器给出了错误:"成员A :: b不能在当前范围内定义。"这样做的正确方法是什么?
答案 0 :(得分:4)
您可以在main()
中设置值,但定义必须在全局范围内:
#include "a.h"
#include "b.h"
B A::b; // <<<<<<
int main () {
....
A::b = B(arg1, arg2);
// ^^^^