c语言头文件中的函数调用 报错 ,说函数未定义,C++ 编程中遇到的一些实际问题...

本文列举了在C++编程过程中遇到的十个典型错误,包括:初始化列表使用中文冒号、找不到头文件、非静态成员声明错误、函数调用位置不当、头文件包含顺序错误、纯虚函数实现问题、二进制运算符未定义、增量链接错误、类型说明符缺失和常成员函数使用。每个错误都详细分析了原因并提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原标题:C++ 编程中遇到的一些实际问题

1:error:"Quote",未知重写说明符

原因:初始化列表的:(冒号)是中文形式的,没发现

2:fatal error C1083: 无法打开包括文件:“Disc_quote”: No such file or directory

原因:“Disc_quote.h”,自定义版本的头文件需要加.h

3:error:protected成员 "price"不是类"Flower"的非静态数据成员或基类

原因:如果你确定这个变量是非静态成员,那么肯定是有一个地方的;结尾给忘了!!!

4:error:声明没有存储类或类型说明符

原因:将出错的语句放在main函数中,就不会报错,因为函数外只能定义全局变量或者对象 而不能执行语句及调用函数,只能写到函数体里

5::error C2504::未定义基类

原因:头文件在包含顺序上不要成闭合的环状,他们结构顺序应该是树,否则调用未定义完成的头文件类将是未定义的,产生未定义基类的错误

6:error:c++不允许使用抽象类类型对象,我明明每个函数都实现了的

原因:纯虚函数在派生类中必须重新定义,在此我是将虚函数的名字写错,造成错误

7:error C2678: 二进制“==”: 没有找到接受“std::basic_string<_elem>”类型的左操作数的运算符(或没有可接受的转换)

原因:自定义的模版或者函数中使用的实参是否支持你的相关操作:比如相等、大于等于等等。在此是因为没有包含头文件string

8:LINK : 没有找到 c:usersadministratordocumentsvisual studio 2010ProjectsTemplate16DebugTemplate16.exe 或上一个增量链接没有生成它;正在执行完全链接

到生成目录下,发现会.ilk这么一个文件,清理,然后将这个ilk文件删除之后,再生成,就不会出现这个错误。或者:打开项目属性,链接器(Link),常规(Conventional),将"启用增量链接"设置为"否(/INCREMENTAL:NO)";再次进行编绎,妥了!这个不是什么错的,当前的VS2003,2005,2009有增量编译功能,就是假如你的代码改动了,他们是不完全重新编译整个代码的,而是只编译你所更改的部分。

出现这个提示,

1.你是首次进行编译,这时当然没有生成过可执行文件,也就无法增量链接了。

2.你上一次编译的时候有错的,没有生成可执行文件。

解决方案:清理解决方案,重新编译生成

9:

1>c:usersadministratordocumentsvisual studio 2010projectstemplate16template16show_times.h(4): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

1>c:usersadministratordocumentsvisual studio 2010projectstemplate16template16show_times.h(4): error C2143: 语法错误 : 缺少“,”(在“

1>c:usersadministratordocumentsvisual studio 2010projectstemplate16template16show_times.h(29): error C2912: 显式专用化;“int show_times(const std::vector<_ty> &,char *)”不是函数模板的专用化

1> with

1> [

1> _Ty=char *

1> ]

解决方案:在vector前加std::即可,作用域限定符很重要

10:error:对象包含与成员函数不兼容的类型限定符

常成员函数(加const的成员)的使用:

1. 对于一个常量对象,只能调用常函数

2. 如果常函数里面不小心修改了类成员或者调用了非常函数,编译器会帮你找出这个错误。

若传入的成员是一个const类对象,则其只能访问其常函数(加const)返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值