取一個int*函數值是報錯。 應使用“{...}”初始化聚合對象

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++了,怠惰

https://bbs.csdn.net/topics/340098375

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章