请高手回答 谢谢

highshan 2004-10-12 11:10:49
typedef char ElemType;
struct LNode
{
char data1;
ElemType data2;
struct LNode *next;
}


setnull(struct LNode **p)
{
*p=NULL;
}
.....

为什么在vc下编译.cpp不能通过 而把文件名改为.c 就可以呢 谢谢
出错信息 ch22++.cpp(19) : error C4716: 'setnull' : must return a value
...全文
72 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
highshan 2004-10-12
  • 打赏
  • 举报
回复
可是为什么改为.c就不报少了;号的错误
pacman2000 2004-10-12
  • 打赏
  • 举报
回复
编译器认为返回的是上面定义的那个struct类型。 反正,你上面没加;就是明显的错误。
highshan 2004-10-12
  • 打赏
  • 举报
回复
改为void 是不行的 但是不加void 加个;是可以的 谢谢 我想知道这是什么原因
kobefly 2004-10-12
  • 打赏
  • 举报
回复
ch22++.cpp(19) : error C4716: 'setnull' : must return a value
是说应该有个返回值
你改为void
应该就可以了
楼上写了
cenlmmx 2004-10-12
  • 打赏
  • 举报
回复
void setnull(struct LNode **p)
highshan 2004-10-12
  • 打赏
  • 举报
回复
谢谢! 可是为什么改成.c 就可以了呢
kobefly 2004-10-12
  • 打赏
  • 举报
回复
struct LNode
{
char data1;
ElemType data2;
struct LNode *next;
}
这里少了个;吧

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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