【发布时间】:2011-05-03 08:24:00
【问题描述】:
我有一个关于使用#undef 重新定义宏的问题。
我有一个文件global.h,其中包含许多#define-d 宏。在使用这些宏的代码中,我发现宏所持有的值不够通用。我想重新定义宏以使它们更通用。为此,我编写了以下代码 sn-p:
std::cout << endl << "Enter pitch threshold:" << endl;
std::cin >> pitchT;
#ifdef PitchThreshold
#undef PitchThreshold
#define PitchThreshold pitchT
#endif
我的问题是:
以这种方式使用#undef 是否可以确保在所有源文件中重新定义宏,或者它是编写上述代码行的函数的本地函数? #undef 和 #define 运算符的范围是什么?
我可以做什么(除了更改文件中的宏#define-d 本身)以确保在所有源文件中更改宏定义?
谢谢,
斯里拉姆
【问题讨论】: