我想动态分配堆上的数组使用具有指向数组和字符串的指针的结构。这是我的代码。如何动态分配一个二维数组结构
struct StudentRecords
{
string names;
int* examsptr;
};
void main()
{
const int NG = 5;
string names[] = { "Amy Adams", "Bob Barr", "Carla Carr",
"Dan Dobbs", "Elena Evans"
};
int exams[][NG] =
{
{ 98,87,93,88 },
{ 78,86,82,91 },
{ 66,71,85,94 },
{ 72,63,77,69 },
{ 91,83,76,60 }
};
StudentRecords *data = nullptr;
(*data).examsptr = new int[][NG];
int *data = new int[NG*NG];
你应该修复复制+粘贴到StackOverflow上使代码更易于阅读时可能发生的压痕。还要注意['void main' **不是**有效的C++](http://www.stroustrup.com/bs_faq2.html#void-main) – Tas
当''data'是'nullptr'时'。在到达结构之前,这将失败。哦,你有两个变量叫做'data'。也不会去工作。 –
你是否被谴责为手动内存管理?因为这可能是一项家庭作业。但是,如果没有,只需使用[int]的vector的[std :: vector](或简单的'std :: vector '并且不要打扰 –
user3159253