我想動態分配堆上的數組使用具有指向數組和字符串的指針的結構。這是我的代碼。如何動態分配一個二維數組結構
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