| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1711 人关注过本帖, 1 人收藏
标题:文件包含 返回结构类型函数 错误
只看楼主 加入收藏
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-01-03 16:06
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
我觉得是问题不是在.c和.h上面。
因为我用int型函数,void函数,都行。
唯独 struct 不行
2015-01-03 16:10
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你看清楚了:头(.h)只有数据类型定义和函数原型,是没有实现代码的,实现代码在.cpp中,而项目你看12楼的图,引入.h和.cpp,然后在主程序模块test.cpp(main()函数在这里)中#include "School.h"即可,不用#include "School.cpp"!

编译器,是搜寻所有引入的.c/.cpp进行编译的,你尽管把1.c嵌入到2.c中,但1.c仍然存在,那么编译器就编译加长版的2.c和1.c两个实现文件了,而这两个实现文件中,有一个是没有函数原型的,它有默认返回类型,即int,而你又定义了一个返回stu类型的函数,这样,编译器无法知道调用哪一个——对.c这样的C编译器来说,C语法不允许函数重载,报出来的错误就会是那样,如果你用.cpp以C++编译器运行,则会报出类似“不能仅以返回值区别的函数定义”这样的信息。

授人以渔,不授人以鱼。
2015-01-03 16:11
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 21楼 ouyangshit
这本书你可以扔了。

授人以渔,不授人以鱼。
2015-01-03 16:11
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
回复 24楼 TonyDeng
今晚就扔
2015-01-03 16:13
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
#include是什么?那是把一个外部文件的内容全部抄到这里的意思!预编译器是把1.c复制一份嵌入到2.c的前面,这样2.c实际上长很多,再加上1.c本身仍然在项目中,就是有两份1.c的代码了。

《Hello,World》#inlude <stdio.h>,它被编译的源代码实际上是700多行!一个编译器不优化,就会链接和保留那么多声明过的函数和数据在可执行文件中,傻瓜才这样做编译器。


[ 本帖最后由 TonyDeng 于 2015-1-3 16:18 编辑 ]

授人以渔,不授人以鱼。
2015-01-03 16:15
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-01-03 22:46
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
自己瞎搞了一个晚上。
教科书我已经扔了。
我也算硬把方法弄出来了。
一点成就感也没有。只有hehe。
我也也算是文件包含?
默默练练也挺久的。
对编译原理一点都不知道。
版版说了那么多,我都不知道吸收了多少。
感觉是在浪费版版时间。
真是抱歉了。

[ 本帖最后由 ouyangshit 于 2015-1-3 22:58 编辑 ]
2015-01-03 22:49
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
。。
2015-01-03 22:59
ouyangshit
Rank: 3Rank: 3
来 自:China
等 级:论坛游侠
帖 子:155
专家分:107
注 册:2014-10-25
收藏
得分:0 
哈哈哈哈哈哈哈,突然灵光一闪,貌似把版版说的都连起来了貌似。
上图看看。
图片附件: 游客没有浏览图片的权限,请 登录注册
2015-01-03 23:04
快速回复:文件包含 返回结构类型函数 错误
数据加载中...
 
   



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

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