看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《StarTouching (撫星)》之銘言: : 在C++裡 : 是否可以跟C一樣, : 寫一個function參數型態是指標, : 但呼叫時卻丟個陣列? : 例如 : void func(int *a); : int main: : a[] = {1,2,3,4,5}; : func(a); : 我試過好像不行, : 那是否可以用形態轉換語法做到呢? 加入const後好像就不行 VC++可能出現這樣的訊息在下面的程式 無法將參數 1 從 'int [10]' 轉換成 'int *const ' void func(int *const a); int a[10]; for(int i=0;i<10;i++) std::cin >> a[i]; func(a); int n, *b; std::cin >> n; b = new int[n]; for(int i=0;i<n;i++) std::cin >> b[i]; func(b); 我希望我的func可以應付一般陣列和動態記憶體, C++有辦法做到嗎? 還是一定要改成vector? 抱歉 我比較習慣寫C, 所以會有這方面的疑惑。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.120.216.35
tsaiminghan:一般陣列也不用加const吧? 03/22 23:26
tsaiminghan:不加const應該就沒事 03/22 23:27
Ebergies:void func( int a[]); 03/22 23:30