作者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