从C ++中的静态方法访问#defined变量

时间:2013-04-26 01:37:05

标签: c++ methods static header c-preprocessor

我有头文件A代码,

#define varA 1

还有一个头文件B,其中包含了头文件。我在头文件B中有以下静态方法,

static void MakeBFromA(){ 
int varB = varA;
}

我收到varA未定义的错误。但是,如果我将#define varA 1移动到头文件B,它可以正常工作。为什么我不能在静态方法中使用另一个文件中的#define变量?

1 个答案:

答案 0 :(得分:1)

#define是一个预处理器构造 它仅适用于当前文件。

相反,您可以制作C ++ const