int *get1D_Array(int n, int rangeL, int rangeR) {
assert(rangeL <= rangeR);
int *arr = new int[n]; // 創建一個 n個元素的數組
srand(time(NULL)); // 隨機種子
for (int i = 0; i < n; i++)
arr[i] = rand() % (rangeR - rangeL + 1) + rangeL;
return arr;
}
int dd[] = d1.get1D_Array(19, 1, 100);
函數如上,報錯。然後飄紅的位置也在紅色的 d1處,很有迷惑性。
最後把int dd[] = d1.get1D_Array(19, 1, 100); 改爲int *dd = d1.get1D_Array(19, 1, 100);即可。這兩者是不一樣的。很zz的問題。同時查到一些[]和* 的區別的討論。(好久沒寫C++了,怠惰