C/C++问题汇总
2016-07-21 16:55
281 查看
1 . error C2371: ......重定义;不同的基类型
原因:多次引用类.结构体等的定义,使得提示重复定义。解决:在每个头文件中,头文件第一行如下定义,使头文件只被引用一次
#pragma once
2. <windows.h> <winsock2.h>冲突
原因:<windows.h>中主动引用了<winsock.h>使得最新的冲突或无效 解决:(1)任何地方如有<windows.h>,先包含<winsock2.h>再包含<windows.h> (2)<windows.h>前定义宏 #define WIN32_LEAN_AND_MEAN
很多情况下,由于没有使用stafx.h预编译,四处引用windows.h,导致上述方法失效。
大杀器就是:项目属性-------c/c++-------预处理器-------预处理器定义中:添加WIN32_LEAN_AND_MEAN,项目一次设置有效
3. error C2360: ...的初始化操作由"case"标签跳过
原因:case a: xxx 执行代码未放入{}代码块内,编译时可能未执行。解决:执行代码放入{xxx}内。
4. error C2259: "不能实例化抽象类"
原因:子类在继承父类后,有virtual虚方法没有在子类中实现,导致子类仍然是一个抽象类,无法实例化;有时未实现虚方法,有时子类方法名错误,误以为已经实现。
5. error C2280: “尝试引用已删除的函数"
现象:类中有std::unique_ptr<Type> param成员变量,提供Get/Set方法供外部调用,在外部通过Get获取该智能指针对象时,编译提示上述错误。原因:unique_ptr<Type>智能指针人如其名,是一种定义在<memory>中的智能指针(smart pointer)。它持有对对象的独有权——两个unique_ptr不能指向一个对象,不能进行复制操作只能进行移动操作。unique_ptr在超出作用域,即以下情况时它指向的对象会被摧毁:
unique_ptr指向的对象被破坏
对象通过operator=()或reset()被指定到另一个指针)
unique_ptr还可能没有对象,这种情况被称为empty。例如:
std::unique_ptr<int>p1(new int(5)); // 编译会出错, error c2280:引用已删除的函数不提供拷贝构造函数的实现或拷贝构造函数为私有 std::unique_ptr<int>p2=p1; // 转移所有权, 现在那块内存归p3所有, p1失效 std::unique_ptr<int>p3=std::move(p1); //释放内存. p3.reset(); //无效 p1.reset();
6. ntdll.dll! 0xC0000005: 读取位置 0xFEEEFEEE 时发生访问冲突
说明指针所指向的空间已经被释放...... 需查看哪些对象/指针被提前释放,导致使用时出现异常。7. 调试技巧
system("pause") , 等效于控制台中暂停。OutputDebugA("abc"). vc下打印char * / string 字符串内容
8. VS运行缓慢/vcpkgsrv.exe后台进程多
VS安装完毕,在自动提示/代码跳转时明显感觉卡、慢,查看后台进程发现多出数个vcpkgsrv.exe进程。查询得知是VS的Intellisence智能感知在搞鬼,取消操作如下:
工具----选项-----文本编辑器-----c/c++----高级----:选项“禁用Intellisence” 设为True.
st.
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 访问Nginx发生SSL connection error的一种情况
- 如何写好 C main 函数
- 星外虚拟主机访问被控出现Unspecified error解决方法
- IIS 错误 Server Application Error 详细解决方法
- On Error Resume Next 语句
- IIS运行错误 Server Application Error 错误代码 Error: 8004的解决方法
- Lua和C语言的交互详解
- Lua编程示例(一):select、debug、可变参数、table操作、error
- 收集整理的http/1.1 500 server error错误的解决方法
- SQL 2005 ERROR:3145 解决办法(备份集中的数据库备份与现有的数据库不同)
- VBScript中On Error语句用法小结
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C 语言简单加减乘除运算