首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个数组的编译异常,怎么改正

2012-04-26 
一个数组的编译错误,如何改正?C/C++ code#includestdafx.hvoid f(int [][5]){}int main(void){int *buf[

一个数组的编译错误,如何改正?

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]'
究竟错在哪里? 如何改正?

[解决办法]
int *p[5] :p是5个指针组成的数组的数组名 int P[N][5] :P是一个5列N行的二维数组名 类型不同吧

我新手,求指正
[解决办法]
要么main中*buf[5],函数的形参改成int **,要么main中的数组改成(*buf)[5],函数形参int[][5]
[解决办法]
探讨

void f(int *[5]){}

void f(int [][5]){}
这两个有什么区别么?

[解决办法]
int [][5]这个是二维数组,int *[5]这个是个指针数组
[解决办法]
C/C++ code
void f(int [][5]){}int main(void){    //int *buf[5];  //这个是指针数组   //可以改为数组指针形式   int (*buf)[5];    f(buf);    return 0;}
[解决办法]
探讨

void f(int *[5]){}

void f(int [][5]){}
这两个有什么区别么?

[解决办法]
探讨

void f(int *[5]){}

void f(int [][5]){}
这两个有什么区别么?

热点排行