從C++中的函式返回二維陣列 - 程式人生
文章推薦指數: 80 %
Returning multidimensional array from function (7個答案) 7年前關閉。
我想使用從函式返回的二維整數陣列我應該如何定義函式的返回值?
程式人生>c++>從C++中的函式返回二維陣列
【c++】從C++中的函式返回二維陣列
阿新••發佈:2020-12-01
Thisquestionalreadyhasanswershere:
Returningmultidimensionalarrayfromfunction(7個答案)7年前關閉。
我想使用從函式返回的二維整數陣列我應該如何定義函式的返回值?我使用了int**,但是編譯器給出了錯誤:int**tableCreator(){
int**table=newint[10][10];
for(intxxx=1;xxx<10;xxx++){
for(intyyy=1;yyy<10;yyy++){
table[xxx][yyy]=xxx*yyy;
}
}
return(table);//Here:cannotconvertfrom'int(*)[10]'to'int**'
}
解決辦法
int**table=newint[10][10];
這是錯誤的。
您無法在C/C++中以這種方式為2D動態陣列分配空間。
同時,您將陣列大小宣告為10,因此索引來自0-9,但是您試圖在巢狀的for迴圈中為索引10分配值,這也不對。
您可以進行以下分配:int**table=newint*[10];
for(inti=0;i<10;++i)
{
table[i]=newint[10];
}
if..else警告“notallcontrolpathsreturnavalue”
«上一篇
在C++中調整vector大小時呼叫一次類建構函式下一篇»
相關推薦
從C++中的函式返回二維陣列
使用矩陣從C++函式返回二維陣列
從C中的函式返回二維陣列時出錯
從C中的函式返回二維陣列
誰能解釋我如何從C函式返回二維陣列?
從函式返回二維陣列
從函式返回二維陣列
從函式返回二維陣列,僅將陣列大小作為引數
從C中的函式返回多維陣列
從函式返回多維陣列
搜尋
基礎教學
Mysql入門
Sql入門
Android入門
Docker入門
Go語言入門
Ruby程式入門
Python入門
Python進階
Django入門
Python爬蟲入門
新加入文章
延伸文章資訊
- 1如何在C++ 中從函式中返回2D 陣列 - Delft Stack
對於較大的物件,通過指標返回是首選方法,而不是通過值返回。由於二維陣列可能會變得相當大,所以最好將指標傳遞給矩陣的第一個元素,如下面的程式碼 ...
- 2[C/C++] 二維陣列的傳遞
在c裡,陣列傳遞是採用傳址呼叫(call by address or call by pointer), ... funcB() 執行完後,不會把複製的p, q丟回給 main() ,寫成cod...
- 3C++傳遞二維陣列 - 程式人生
C++中一維陣列作為函式引數傳遞應用十分普遍,原理和操作都十分簡單。陣列名就代表了陣列的首地址,下標就是偏移量。函式的形式引數宣告為一級指標即可( ...
- 4C / C++ 函式傳遞二維陣列範例與解說 - CHG
template<size_t N, size_t N2> void fun(int (&arr)[N][N2]) {...}; 如此一來就可以完整的傳入鎮列了,在函式內N1 及N2 就是傳入的...
- 5C++ -傳遞二維陣列 - 小哈的程式工作坊
C++ -傳遞二維陣列(Pass 2D array as a function parameter in C++). 二維陣列到底怎麼傳進函式?指標?還要給數量?到底是ROW 的數量還是COLU...