您的位置:首页 > 编程语言 > C语言/C++

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

2017-03-21 09:26 281 查看
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,_Traits,_Ax>”类型的左操作数的运算符(或没有可接受的转换)

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

8:LINK : 没有找到 c:\users\administrator\documents\visual studio 2010\Projects\Template16\Debug\Template16.exe 或上一个增量链接没有生成它;正在执行完全链接

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

出现这个提示,

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

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

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

9:

1>c:\users\administrator\documents\visual studio 2010\projects\template16\template16\show_times.h(4): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

1>c:\users\administrator\documents\visual studio 2010\projects\template16\template16\show_times.h(4): error C2143: 语法错误 : 缺少“,”(在“<”的前面)

1>c:\users\administrator\documents\visual studio 2010\projects\template16\template16\show_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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 编程问题 error