這個問題我已經不是第一次遇到了,由於不是總程式設計,所以總會忘記這一點:
在c++中是不允許陣列作為函式的返回值的
所以想要函式返回乙個陣列,那麼只能返回這個陣列的指標,然後在想呼叫這個陣列的函式中新建指標然後呼叫這個函式。
舉個例子:
//生成含有範圍屬於[begin,end]的188個隨機整數的陣列
int *list(int begin, int end)
else
} int i=0;
for (it = l.begin(); it != l.end(); it++)
return a;
}
呼叫
const int datanum=147456;
int *datalist = list(0,datanum);
這裡就可以呼叫到生成的陣列。
這個**裡有個小細節,是我遇到問題之後解決的
srand((unsigned)time(null))和rand()%100
但是一般很少有人用到去生成很大的隨機數,而在一開始出錯之後,我測試發現:
rand()生成的數值最大是34767,也就是說,如果要像我一樣生成0-147456之間的隨機數,就要進行改變,讓這個rand變得更大。我這裡很偷懶的用了乘5的方法,你們有更好的方法可以告訴我,我這裡需要的沒有那麼精確隨機,所以就這麼用了。
做乙個返回陣列的函式 DELPHI
1.type tarray array of string procedure trimchar s string var sret tarray function countchar s string c char integer vari integer begin result 0 for i...
C語言 通過指標從函式返回乙個陣列
忘記最初在網上想找什麼資料了,偶然間看到這篇的,如果讓我自己寫的話,肯定不會寫的,好好學習了下。嚴格的講,無法直接從函式返回乙個陣列。但是,可以讓函式返回乙個指向任何資料結構的指標,當然也可以是乙個指向陣列的指標。下面直接貼 view plain copy to clipboard print?in...
c 返回乙個陣列
bqg s complexity analysis 最近遇到乙個很不一般的事情,返回乙個陣列時,我們可以直接返回它的首位址,但是如果呼叫兩次以上,返回的數值就是有問題的了。呼叫兩次js 函式,分別用a b陣列存放返回的陣列值,但是接收到返回的數值居然和我返回前存放的數值不一樣。及改善 include...