函数声明的问题

davidstack 2009-09-08 03:03:49
void fun1(str (&HJ)[5][4],,int ID);
void fun2(str (&HJ)[5][4],int ID);
void fun3(str (&HJ)[5][4],int ID);
int fun4(str (&HJ)[5][4], int ID);
同时在一个类中定义这四个函数有没有错误?str为自己定义的结构体。
...全文
69 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
skynfly 2009-09-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wangdk789 的回复:]
void fun1(HJ &hj[3][4],int n);
{
cout < <"hj" < <endl;
cout < <hj[0][1].day < <endl;
}
[/Quote]
把分号去了,&hj加个括号
void fun1(HJ (&hj)3][4],int n)
{
cout < <"hj" < <endl;
cout < <hj[0][1].day < <endl;
}

或者直接传个数组指针就行吧
void fun1(HJ *hj,int ID);
void fun1(HJ* hj,int n)
{
cout < <"hj" < <endl;
cout < <hj[0][1].day < <endl;
}
wangjs720 2009-09-08
  • 打赏
  • 举报
回复
muzizongheng,你的做法才是错误的。
muzizongheng 2009-09-08
  • 打赏
  • 举报
回复
sorry, 应该是 : void fun1(HJ& TestStruct[][],int ID);
muzizongheng 2009-09-08
  • 打赏
  • 举报
回复

void fun1(HJ& TestStruct[3][4],int ID);

lz, 应该这样定义。。。
davidstack 2009-09-08
  • 打赏
  • 举报
回复
#include<iostream>
using namespace std;

struct HJ{
int day;
int month;
int year;
};


void fun1(HJ (&HJ)[3][4],int ID);
void fun2(HJ (&HJ)[3][4],int ID);
void fun3(HJ (&HJ)[3][4],int ID);

int main(){

HJ hj1[3][4];

for(int i=0;i<3;i++)
for(int j=0;j<4;j++)

{ hj1[i][j].day=1;
hj1[i][j].month=i+1;
hj1[i][j].year=j;
}
fun1(hj1,1);
return 0;

}
void fun1(HJ &hj[3][4],int n);//error C2234: '<Unknown>' : arrays of references are illegal
{ //error C2447: missing function header (old-style formal list?)
cout<<"hj"<<endl;
cout<<hj[0][1].day<<endl;
}

void fun3(HJ &hj[3][4],int n);
{
cout<<"hj"<<endl;
cout<<hj[0][1].day<<endl;
}

void fun2(HJ &hj[3][4],int n);
{
cout<<"hj"<<endl;
cout<<hj[0][1].day<<endl;
}
定义可能没错吧,但这个程序确实编译有错误。
skynfly 2009-09-08
  • 打赏
  • 举报
回复
我试了一下,没有错误啊。

是不是这里多了个逗号的错误啊
void fun1(str (&HJ)[5][4],,int ID);
lzxlzx777 2009-09-08
  • 打赏
  • 举报
回复
函数名是不同的,不会出错的。
youyifang 2009-09-08
  • 打赏
  • 举报
回复
确实,为什么LZ会认为有错误?
pister 2009-09-08
  • 打赏
  • 举报
回复
重定义了。。。。。
muzizongheng 2009-09-08
  • 打赏
  • 举报
回复
为什么会有错 ?

函数名不同啊

16,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧