读书人

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

发布时间: 2012-04-26 14:01:31 作者: rapoo

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

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]){}
这两个有什么区别么?

读书人网 >C语言

热点推荐