64,654
社区成员
发帖
与我相关
我的任务
分享
class A
{
public:
void Func(void){ cout << “Func of class A” << endl; }
};
void Test(void)
{
A *p;
if( true ) {
A a;
p = &a; // a 的生命期 ?
}
p->Func();
}
#include <iostream>
class A
{
public:
void Func(void)
{
std::cout<<"Func of class A"<<std::endl;
}
};
int main(void)
{
A *p = 0;
p->Func();
return 0;
}
楼主运行这段代码试试,我这运行正常
#include <iostream>
using namespace std;
class A
{
public:
A()
{
cout<<"A()"<<endl;
}
~A()
{
cout<<"~A()"<<endl;
}
void Func(void)
{
cout <<"Func of class A" << endl;
//cout<<m_n<<endl;
}
};
void Test(void)
{
A *p;
// if( true ) {
// A a;
// p = &a; // a 的生命期 ?
// }
p->Func();
int cc = 0;
A *p1;
p1= (A*)&cc;
p1->Func();
}
int main()
{
Test();
system("pause");
return 0;
}
这样也可以,vs2003.net环境下面测了下