我有头文件A代码,
#define varA 1
还有一个头文件B,其中包含了头文件。我在头文件B中有以下静态方法,
static void MakeBFromA(){
int varB = varA;
}
我收到varA
未定义的错误。但是,如果我将#define varA 1
移动到头文件B,它可以正常工作。为什么我不能在静态方法中使用另一个文件中的#define
变量?
答案 0 :(得分:1)
#define
是一个预处理器构造
它仅适用于当前文件。
相反,您可以制作C ++ const
。