定義に小さな問題があります。私はそれを整数変数に代入したいが、コンパイラはそれが宣言されていないと言っている。ここでC2065定義をintに代入している間に宣言されていない識別子
は、コードは次のようになります。int型の割り当てと defines.hラインで
#ifndef DEFINES_H
#define DEFINES_H
#define MYDEFINE 2
#endif
myclass.h
namespace mynamespace {
class myClass {
int someFunction();
};
}
myclass.cxx
#include "defines.h"
#include "myclass.h"
namespace mynamespace {
int myClass::someFunction() {
int var = MYDEFINE;
return 0;
}
}
コンパイラエラーが発生します。また、同じヘッダーファイルで定義されている別の定義を、同じ効果を持つ関数パラメーターとして使用しようとしました。何か案は?前もって感謝します。
定義を使用することは悪い習慣ですが、私は既存のプロジェクトのみを拡張し、その設計方法にとどまります。
編集:このエラーメッセージは単純に:Fehler 1 error C2065: 'MYDEFINE': nichtdeklarierter Bezeichner ...
これは実際のソースコードではありませんが、私は質問をまとめる際に非常に慎重だったと思います。
EDIT2:#ワーニングのヒントありがとうございます。異なるフォルダに同じ名前のファイルが2つありました。私はコンパイラがなぜこれを引き起こさなかったのか分かりません。とにかく、今は動作します。
正確なエラーメッセージを含めてください。悪魔が詳細に表示されることがあります。 – unwind