-1

我有这个代码:

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;

为什么?

4

1 回答 1

3

就像 jrok 说的,你分配了指针而不是对象。你可能想做这样的事情:

for (int i = 0; i < 1000; i++)
    arr_human[i] = new human[numObjectsYouWant];

由于您使用的是 C++,因此您不妨使用向量。消除了使用原始指针可能遇到的许多问题。

vector<human> arr_humans;
于 2013-03-30T22:44:12.690 回答