c++程序成员指针为何异常

c++程序成员指针为何错误!
C/C++ code

#include <iostream>
using namespace std;

class A{
public:
    int n;
};

int main()
{
    int A::*pn = &A::n;
    A a;
    a.*pn = 10;
    A* pa = &a;
    pa->*pn =10;
}



------解决方案--------------------
目测没错,是VC6 ?
------解决方案--------------------
探讨
C/C++ code

#include <iostream>
using namespace std;

class A{
public:
int n;
};

int main()
{
int A::*pn = &amp;A::n;
A a;
a.*pn = 10;
A* pa = &amp;a;
pa->*pn =10;
}