对非静态成员“GGMM::a”的非法引用
#include <iostream>
using namespace std;
struct GGMM
{
int a;
char b;
};
int main()
{
typedef int (GGMM::*P);
GGMM GM;
GM.a=555;GM.b='x';
P ppp=&(GGMM::a);//Line 14
(GM.*ppp)=1234;
cout<<GM.a;
}
E:\TEMP>bcc32 a.cpp
Borland C++ 5.6.4 for Win32 Copyright (c) 1993, 2002 Borland
a.cpp:
Turbo Incremental Link 5.66 Copyright (c) 1997-2002 Borland
E:\TEMP>a
1234
E:\TEMP>cl /GX a.cpp
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
a.cpp
a.cpp(14) : error C2597: 对非静态成员“GGMM::a”的非法引用
E:\TEMP>