不好意思我是C++新手...
有个class长这样
class test{
public:
test();
~test();
private:
test *node;
};
test::test()
{
node = new test;
}
test::~test()
{
free(node);
}
int main()
{
test *head = new test;//这个地方就爆掉了
return 0;
}
大概跑了一次知道是constructor里不能再new了,不过为什么呢?
我只是想要把物件指标head里的node给定一个new的空间而已呀?
大概有想过应该是我外面new了一个test的容量
可是里面又要new一个test,这样双倍的test他会吃不消
所以我又试了
test *head = new test[2];
但还是不行
最后是把constructor拿掉,把test *node宣告成public
从main里用物件去申请node的空间才行
想请问这中间的空间分配问题出在哪里了??