我有这段代码:
struct human
{
string name;
string adress;
string com_name;
string com_adress;
};
human **arr_human;
我需要分配指针数组。 我试试这个:
arr_human = new human * [ 1000 ];
但我不能使用这个结构(例如:
arr_human[0]->name = oName;
arr_human[0]->adress = oAddr;
arr_human[0]->com_name = cName;
arr_human[0]->com_adress = cAddr;
为什么?
答案 0 :(得分:3)
就像jrok所说,你分配了指针而不是对象。你可能想做这样的事情:
for (int i = 0; i < 1000; i++)
arr_human[i] = new human[numObjectsYouWant];
由于你正在使用C ++,你可能也会使用向量。消除了使用原始指针时可能遇到的许多问题。
vector<human> arr_humans;