Бележка
Достъпът до тази страница изисква удостоверяване. Можете да опитате да влезете или да промените директориите.
Достъпът до тази страница изисква удостоверяване. Можете да опитате да промените директориите.
illegal reference to non-static member 'identifier'
Remarks
Possible causes:
A nonstatic member is specified in a static member function. To access the nonstatic member, you must pass in or create a local instance of the class and use a member-access operator (
.or->).The specified identifier is not a member of a class, structure, or union. Check identifier spelling.
A member access operator refers to a nonmember function.
Example
- The following example generates C2597 and shows how to fix it:
// 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;
}