如:
定义类:
-
class Person{
-
private:
-
int a;
-
public:
-
Person(){}
- ~Person(){}
- void showInt(){
-
std::cout<<"this is a test!"<
- }
- };
这个类在windows下可以这样使用:
Person *p = NULL:
p->showInt();
当然,在gcc中这是不可以的,这样往往会导致段错误。
但在windows下却可行,原因主要还是两种编译器处理方式不同,应该是对this指针的处理方式不同。
需要注意的是,当showInt()访问成员变量时,在vs2010下也能够编译运行,并不提示任何错误,但是程序执行到这个地方时,会退出,放弃执行后续的代码。