私はC++が初めてで、奇妙な問題に悩まされています。common.h に #define があります。
#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 は常に「ベータ」として設定されます... common.h には #define がありますが....
上記が正しい方法ではない場合...他の選択肢はありますか?
コードは MAC では正常に動作しますが、Visual Studio 2005 を使用している Windows では動作しません (アップグレードできません:-( )