次の方法で共有


コンパイラ エラー C2597

静的でないメンバー 'identifier' への参照が正しくありません

考えられる原因:

  1. 静的でないメンバーが静的メンバー関数に指定されている。 静的でないメンバーにアクセスするには、クラスのローカル インスタンスを渡すかまたは作成し、メンバー アクセス演算子 (. または ->) を使用する必要があります。

  2. 指定された識別子が、クラス、構造体、または共用体のメンバーではない。 識別子のスペルを確認します。

  3. メンバー アクセス演算子が非メンバー関数を参照している。

  4. 次の例では、C2597 を生成し、その修正方法を示しています。

// C2597.cpp
// compile with: /c
struct s1 {
   static void func();
   static void func2(s1&);
   int i;
};

void s1::func() {
   i = 1;    // C2597 - static function can't access non-static data member
}

// OK - fix by passing an instance of s1
void s1::func2(s1& a) {
   a.i = 1;
}