100个windows平台C++开发错误
文章平均质量分 62
记录学习工作中遇到的windows平台C++开发错误
一路博客
欢迎光临个人独立博客:www.16boke.com,提供开发、测试、项目管理文章,致力于为互联网用户提供一个相互沟通的平台。
展开
-
100个windows平台C++开发错误之二十
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(96)C++数组下标可以为负数(97)warning C4305: “初始化”:从“int”到“bool”截断切记:bool true为非零值,false为零值。(98)warning LNK4099:未找到PDB“vc80.pdb” 工程里面引用到的lib库编译所用VS版本和应用程序原创 2013-01-22 11:05:27 · 1915 阅读 · 0 评论 -
100个windows平台C++开发错误之十九Warning
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095不要轻易忽略warning,也许一个致命的错误就发生在提示warning的地方。(91)warning C4101: “XXXXX”:未引用的局部变量尽量去掉无用变量的声明。(92)VS2005中出现warningC4996:strcpy was declared deprecated(不赞成使用strcpy)原创 2013-01-22 10:56:27 · 6336 阅读 · 0 评论 -
100个windows平台C++开发错误之十八数组
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(86)数组的输入输出输入:由于数组名是数组首元素的内存地址,是一个常量,不能被赋值。一维数值型数组,要对数组各元素操作,不能直接用数组名操作。int i ,arr[5];不能用cin >> arr;而是用for (i = 0;i i++) cin>> arr[i];输出:int原创 2013-01-22 10:49:35 · 1155 阅读 · 0 评论 -
100个windows平台C++开发错误之十七数组
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(81)数组的声明数据类型数组变量名[个数常量];因为数组占用的内存空间大小必须在程序编译时决定,并且一旦决定了,就不能再改变。所以只能用常量来指明数组的大小。当然,这是指在数据区或栈区分配内存,如果是在堆区,则可以动态地分配数组的大小。由于SIZE是确定的,在编译之前就被替换,所以是对的;第二个则原创 2013-01-22 10:43:12 · 3406 阅读 · 0 评论 -
100个windows平台C++开发错误之十六宏定义
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(76)宏定义后不要加分号宏定义不是语句,在行末不必加分号,如加上分号则连分号也一起置换。(77)宏定义换行在行末用符号”\”,即字符"\"后面紧跟一个换行符。如果字符"\"后面紧跟一个换行符,那么在预处理程序执行之前,字符"\"和换行符会被删除掉,这是一个比预处理执行还要前的动作。第17行最右边多一个空格原创 2013-01-18 10:55:35 · 2261 阅读 · 0 评论 -
100个windows平台C++开发错误之十五指针
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(71)内存分配未成功,却使用了它。在使用内存之前检查指针是否为NULL。如果指针p是函数的参数,那么在函数的入口处用assert(p!=NULL)进行检查。如果是用malloc或new来申请内存,应该用if(p==NULL) 或if(p!=NULL)进行防错处理。(72) 使用未初始化的指针。未初始化,因而指向的是无效地原创 2013-01-18 10:53:27 · 1151 阅读 · 0 评论 -
100个windows平台C++开发错误之十四初始化问题
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(66)变量内置类型变量是否初始化决定于变量的定义位置,在函数体外定义的变量都自动初始化为0,函数体内定义的变量都不进行自动初始化。类类型变量的初始化,类通过定义一个或多个构造函数来控制类对对象的初始化,如果定义某个类的变量时没有提供初始化式,这个类就通过默认构造函数来实现。(67)引用引用必须被初始化,必须用左值来初始化原创 2013-01-17 09:34:29 · 1279 阅读 · 2 评论 -
100个windows平台C++开发错误之十三编程
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(61)返回局部变量或其引用char *GetString(void){ charp[] = "hello world"; return p; // 编译器将提出警告}内存在函数结束时自动消亡。(62)strcpycharch[2];memset(ch,0,原创 2013-01-17 09:31:45 · 922 阅读 · 0 评论 -
100个windows平台C++开发错误之十二容器
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(56)vector不是一种数据类型,而只是一个类模板,可用来定义任意多种数据类型。(57)vector内存分配策略:以最小的代价连续存储元素。(58)list不支持算术运算及关系运算list ilist;ilist.begin() + ilist.size()/2; //error: no additio原创 2013-01-16 10:56:11 · 914 阅读 · 0 评论 -
100个windows平台C++开发错误之十一类
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(51)默认构造函数类通常应定义一个默认构造函数,否则不能作静态分配数组的元素类型,也不能用作动态分配数组的元素类型。静态分配数组必须为每个元素提供一个显式的初始化式。(52)利用默认构造函数定义一个对象ConstRefcr(); //定义一个函数而非对象(53)explicit 关键字原创 2013-01-16 10:52:35 · 1105 阅读 · 2 评论 -
100个windows平台C++开发错误之十类
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(46)class结束大括号后记得加分号(47)class的成员变量访问标号默认是private不能被类外部访问。(48)对于指针,操作数据成员用”->”操作符,对于类/结构/联合操作数据成员用”.”操作符。classBase{public: intcount;}; int原创 2013-01-15 09:38:30 · 3138 阅读 · 0 评论 -
100个windows平台C++开发错误之九case
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(41)error C2052: “double”: 非法的case 表达式类型case 标号必须是整型常量表达式(42)error C2196:case值”XXX”已使用删除相同的case标号 (43)对于 switch 结构,只能在它的最后一个 case 标号或 default 标号后面定义变量:如下代码将编译错误原创 2013-01-15 09:30:57 · 2243 阅读 · 0 评论 -
100个windows平台C++开发错误之八编程
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(36)有些人曾遇到if分支语句不执行的错误,例如:判断一个int型变量是否在2和10之间,以下写法是错误的 if (2 <i }else{ }关系操作符(、结论:不应该串接使用关系操作符(37)如果某个数字常量以“0”开头(单纯的数字0除外),那么编译器会认为这是一个8进制数字原创 2013-01-14 09:15:54 · 1048 阅读 · 0 评论 -
100个windows平台C++开发错误之七编程
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(31)error C2001: newline in constant 在常量中出现了换行错误可能原因:1、字符串常量、字符常量中有换行。2、此句代码中,某个字符串常量的尾部漏掉了双引号。3、此句代码中,某个字符创常量中出现了双引号字符“"”,但是没有使用转义符“\"”。4、此句代码中,某个字符常量的尾部漏掉了单引号。5、在某句原创 2013-01-14 09:13:39 · 3568 阅读 · 0 评论 -
100个windows平台C++开发错误之六数据库操作
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(26)error LNK2019:无法解析的外部符号_mysql_close@4,该符号在函数XXXX中被引用;error LNK2019:无法解析的外部符号_mysql_init@4,该符号在函数XXXX中被引用需要附加依赖项libmysql.lib (27)PROCEDURE can’t return a resul原创 2013-01-11 09:57:13 · 1899 阅读 · 0 评论 -
100个windows平台C++开发错误之五MFC编程
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(21)Debug版本,编译生成成功,运行,弹出对话框:没有找到mfc90ud.dll。项目属性->配置属性->链接器->调试->生成映射文件选择:是(/MAP)(22)error C2065:’IDD_DIALOG’:undeclared identifier在主文件中加入#include “resource.h”原创 2013-01-11 09:54:59 · 2241 阅读 · 1 评论 -
100个windows平台C++开发错误之四编程
更多精彩内容,请见:http://www.16boke.combyzxy,Java/C++编程交流群:168424095(16)error C2011:’fd_set’:’struct’ type redefinition,errorC2011: “sockaddr”: “struct”类型重定义调整头文件的调用顺序,在Windows.h前先引用WinSock2.h,即#include #include 或不调整头文件顺序,在所有#inc原创 2013-01-10 10:19:42 · 2034 阅读 · 2 评论 -
100个windows平台C++开发错误之三编程
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(11)error C2065:”cout”:undeclared identifier不仅仅要包含头文件,还要命名空间,理解C头文件和C++头文件。#include using namespace std;(12)errorC3872:’0x3000’:this character is not allowed in原创 2013-01-10 10:04:12 · 1147 阅读 · 0 评论 -
100个windows平台C++开发错误之二VS操作
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(6)当前不会命中断点。源代码与原始版本不同全选CPP文件内容,选择 “编辑”->“高级”->“设置选定内容的格式”,保存,重新编译。这个问题的根源应该就是调试运行时使用的dll与你调试下断的源码不符。只不过造成dll与下断的源码不符的操作可能五花八门,有的人觉得自己的操作是无懈可击的,为什么还出现这种问题。其原创 2013-01-09 16:49:52 · 2239 阅读 · 0 评论 -
100个windows平台C++开发错误之一VS操作
更多精彩内容,请见:http://www.16boke.comby zxy,Java/C++编程交流群:168424095(1) Ctrl+F查找失效,提示: 查找进行的过程中被停止。解决方法:按下Ctrl+Break即可。(2) PRJ0019: 某个工具从以下位置返回了错误代码:"正在执行预生成事件..." 项目->属性->生成事件->预链接事件:从生成中排出否改为是。(3) Project:error PRJ0050:未能注册输出,原创 2013-01-09 16:44:50 · 1974 阅读 · 0 评论