編譯器錯誤 C2597
參考非靜態成員 'identifier' 是不合法的
可能的原因:
非靜態成員指定在靜態成員函式內。 若要存取非靜態成員,您必須建立類別的執行個體,並使用成員存取運算子 (. 或 ->)。
指定的識別項不是類別、結構或等位的成員。
成員存取運算子參考到非成員函式。
下列範例會產生 C2597:
// C2597.cpp
// compile with: /c
struct s1 {
static void func();
int i;
};
void s1::func() {
i = 1; // C2597
// OK
s1 a;
a.i = 1;
}