我是 C++ 新手,遇到了奇怪的问题。我有一个#define in common.h
#define TEXT_VALUE "Alpha"
在 program.cpp 内部的一个方法中,我想访问它并想做如下的事情
#include common.h
void TestProgram::TestProgram(){
std::string test_value = TEXT_VALUE;
if(test_value.empty()) {//check during compile time if not set then set to default
test_value = "Beta";
}
}
但是 test_value 在生成的可执行文件中始终设置为“Beta”...即使 common.h 具有#define...。
如果上述方法不正确……还有其他选择吗?
该代码在 MAC 上运行良好,但在我使用 Visual Studio 2005 的 Windows 上运行良好(无法升级:-()