| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2715 人关注过本帖
标题:我想知道这个错误信息
取消只看楼主 加入收藏
raozhihao201
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-12-6
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
我想知道这个错误信息
#include <stdio.h>

void show()
{
    printf("随便弄一下\n");
}

int main()
{
    show();
    return 0;
}


这是我写的一小段代码,能正常运行
但当我把show()函数放在main函数下面的时候,VS2015编译提示

严重性    代码    说明    项目    文件       禁止显示状态
错误    C2371    “show”: 重定义;不同的基类型    练习2    f:\c\练习2\练习2\练习.c    10   

请问这是为什么?


而当我把void show()放在main下面,并且改成了int show()时却又可以运行成功。编译器提示

1>f:\c\练习2\练习2\练习.c(6): warning C4013: “show”未定义;假设外部返回 int
1>f:\c\练习2\练习2\练习.c(12): warning C4716: “show”: 必须返回一个值
1>  练习2.vcxproj -> F:\C\练习2\Debug\练习2.exe
1>  练习2.vcxproj -> F:\C\练习2\Debug\练习2.pdb (Full PDB)
========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========

这又是为什么?
小白实在搞不懂这些,话说,我需要懂这个吗,可是我还是想弄明白,为什么这三种操作会有各自不同的结果
搜索更多相关主题的帖子: 信息 编译器 return include 项目 
2016-12-06 20:25
raozhihao201
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-12-6
收藏
得分:0 
回复 2楼 哈斯佛道
原谅我有点蠢,学习的方法不太对,为什么void show()放在int main()的上面能用呢,是不是就是你说的这是表示先声明了

我去了详细再了解下函数的调用,3Q

改成int show()放在main的下面的话那应该怎么改才能没有错误呢???
2016-12-06 20:51
快速回复:我想知道这个错误信息
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039290 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved