一个数组的编译异常,怎么改正
一个数组的编译错误,如何改正?
.cpp(6) : error C2664: 'f' : cannot convert parameter 1 from 'int *[5]' to 'int [][5]'
究竟错在哪里? 如何改正?
------解决方案--------------------
void f(int []){}
int main(void)
{
int buf[5];
f(buf);
return 0;
}
数组buf[5]中数组名buf本身就是指针 ,指向数组的第一个元素地址,所以无需再加 “*”,即int *buf[5]这种写法是错误的。
------解决方案--------------------
一维数组和二维数组的区别
- C/C++ code
#include"stdafx.h" void f(int [][5]){} int main(void) { int *buf[5]; f(buf); return 0; }
.cpp(6) : error C2664: 'f' : cannot convert parameter 1 from 'int *[5]' to 'int [][5]'
究竟错在哪里? 如何改正?
------解决方案--------------------
void f(int []){}
int main(void)
{
int buf[5];
f(buf);
return 0;
}
数组buf[5]中数组名buf本身就是指针 ,指向数组的第一个元素地址,所以无需再加 “*”,即int *buf[5]这种写法是错误的。
------解决方案--------------------
一维数组和二维数组的区别