【发布时间】:2015-04-13 08:34:31
【问题描述】:
#include<iostream>
using namespace std;
class Toto{
private:
int w;
public:
Toto(); //constructor
int *veg; //pointer veg
void func9()
{
veg =new int [4] ; //dynamic mem allocation
}
void func7()
{
delete [] veg; //free mem
}
};
Toto::Toto()
{
cout <<" contructor is here: " << endl;
}
int main ()
{
Toto pen;
cout << "enter numbers: ";
for (int i=0;i<4;i++)
{
cin >> pen.veg[i];
}
cout << endl;
for (int i=0;i<4;i++)
{
cout << pen.veg[i] << " " << endl;
}
return 0;
}
上面的代码由于某种原因产生了 Seg Fault。 输入数字后,此代码会产生段错误! 乱码请见谅,初学者先谢谢了!
【问题讨论】:
-
veg没有分配存储空间 - 您需要先调用func9()方法来分配一些存储空间。 -
你有什么理由不在
Toto中使用int veg[4]?