标题:我的头文件明明有函数名错误,为啥它就不报错?!
只看楼主
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
结帖率:100%
已结贴  问题点数:20 回复次数:5 
我的头文件明明有函数名错误,为啥它就不报错?!


细思极恐,都不敢再写下去了。而且很奇怪的是构造函数名和类名不一致不会报错,但析构函数名不对就要报错了。
搜索更多相关主题的帖子: 而且 
2017-05-20 22:10
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:0 
请问谁能告诉我怎么解决这个问题?不光是要个原因,更重要的是怎么解决。它不报错我根本不敢往下编。
2017-05-20 22:13
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
1, .h文件不是编译单元,也就是说如果它没有被include到.cpp文件中的话,它根本就没有被编译,自然也就不会编译报错
2, VC的模板编译使用的是一种错误的处理方式(按标准应该使用二段语法分析),这导致它即使被编译,但没有被实例化的部分即使语法有错,编译器也无法预想检查出来(比如你图中的givebirth可能没有代码调用过)。

BTW,
1,以上两点都对你没有影响,放心大胆地写下去
2,学C++应该用符合C++标准的编译器,比如g++7.1
https://
2017-05-20 23:06
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:0 
谢谢解答。包括是包括了的。我感觉过去用的时候出现类似问题还是会提示"函数未定义"之类的信息啊,这里怎么又不行了。而且唯有析构函数名出错的时候会报错也很怪异。
虽说可以继续做。还是觉得换编译环境安全些,实时运行出现的错误很多时候不给我提示哪行,调试起来都找不到地方
2017-05-21 09:09
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
第二点,就是givebirth这个函数你调用了没有?
2017-05-21 11:58
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:0 
没有调用。我试一试,如果调用时要给出相关报错还是可以接受。
2017-05-21 17:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-477192-1-1.html




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

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