请先定义class,再定义其公有函数...
#include
#include
#include
using namespace std;
class chain
{
public:
int *p;
chain(void)
{
p=NULL;
}
~chain(void)
{
delete p;
}
void abc(void);
};
void chain::abc(void)
{
p=new int(123);
}
void main(void)
{
chain *cp=NULL;
int *p2=NULL;
cp=new chain;
cp->abc();
p2=cp->p;
delete cp;
getch();
}
没有定义类chain,哪来的其成员函数...这个是常识啊,没有什么为什么的啊...纠正一下2楼的回答,编译器不是自上往下执行的,而是从main开始执行,之后再调用类的定义,其成员函数的定义
你试试把void chain :: abc(void)
{
p=new int(123);
}
放在
class chain{}
后面吧
编译器从上往下开始执行的,如果你没定义类,编译器不认识p,当然就是“未定义的”