作者StarTouching (撫星)
看板C_and_CPP
標題Re: [語法] C++陣列與指標??
時間Sun Mar 22 22:45:00 2009
※ 引述《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
1F:推 tsaiminghan:一般陣列也不用加const吧? 03/22 23:26
2F:→ tsaiminghan:不加const應該就沒事 03/22 23:27
3F:推 Ebergies:void func( int a[]); 03/22 23:30