我想打一個2D,3,像這樣的數組:3如何動態分配一個全局二維數組在C++
double *array;
void setArray(double x, double y, double z){
array = {{x,0,0},
{0,y,0},
{0,0,z}};
}
我看了一些帖子建議是這樣的:
double **array = new double*[3];
void setArray(double x, double y, double z){
array[0] = new double*[3];
array[0][0] = x;
array[0][1] = 0;
array[0][2] = 0;
...
如果有任何方法可以直接使用值{{x,0,0},{0,y,0},{0,0,z}}設置2d數組?
在此先感謝。
感謝您的答覆。但我有語法錯誤:「不能轉換FRM雙[3] [3]一倍**,指着無關;轉換要求reinterpret_cast,C樣式轉換或函數樣式轉換」 – 2012-04-04 03:26:00
@ user1311686:是的,對不起,那無法工作。請參閱我的編輯。這並不是很乾淨,但如果你堅持使用具有初始化列表的靜態數組,這取決於運行時值,這與你將要得到的結果一樣。你應該考慮避免這個靜態數組。 – bitmask 2012-04-04 03:48:01
該函數返回對局部變量的引用;這不起作用 – anatolyg 2012-04-04 06:05:53