わんさかエラーが出たので、その備忘録。
エラー【その5】!!!
マクロ識別子が 2 回定義されているのが原因。
コンパイラが 2 つ目のマクロ定義を使用しているので、意図したものでなければ危険だよと。
例えば、マクロをコマンド ラインとコード内の #define ディレクティブの両方で定義してたり、
マクロがインクルード ファイルからインポートされていたりすると出るらしいので、
いずれかの定義を削除するか、2 つ目の定義の前に #undef ディレクティブを使用するって事で
回避するべきらしい。
以下のような時に出る「C4005」エラー
- // C4005.cpp
- // compile with: /W1 /EHsc
- #include <iostream>
- using namespace std;
- #define TEST "test1"
- #define TEST "test2" // C4005 delete or rename to resolve the warning
- int main() {
- cout << TEST << endl;
- }
- </iostream>

0 件のコメント:
コメントを投稿