"C2039: '<メンバ名>': '<クラス名>' のメンバーではありません" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
error C2039: '<メンバ名>': '<クラス名>' のメンバーではありません。<ソースファイル名>: note: '<クラス名>' の宣言を確認してください

ソース(バグ有り):

class sampleClass{
public:
int a; }; int main() {
sampleClass c , *psampleClass;
psampleClass=&c;
psampleClass->a = 1; }


原因:
クラスのメンバではない変数にアクセスしました。

この例では、sampleClassクラスのメンバ b にアクセスしようとしましたが、 b はクラスのメンバではありません。

対処:
クラスの定義を確認し、メンバを確認します。

この例では、sampleClassのメンバである b に対してアクセスを行いことを検討します。


ソース(修正済み):

class sampleClass{
public:
int a; }; int main() {
sampleClass c , *psampleClass;
psampleClass=&c;
psampleClass->b = 1; }

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]