窗口和限制的冲突
Conflict of windows.h and limits?
以下代码在VS2010中不起作用。原因是什么?
#include <limits>
#include <windows.h> // if I remove this line, it is okay.
int main()
{
std::numeric_limits<int>::min();
return 0;
}
我创建了一个 VC 空控制台项目并添加了一个 main.cpp如上所述。这是原因吗?我可能需要创建另一种项目吗?谢谢。
谢谢你们的帮助。问题来自我一起使用vld.h
和limits
。我确实阅读了vld.h
,试图自己找到问题。经过一些测试,我发现问题可能来自vld.h
包含的window.h
。很抱歉忘记谷歌它。我个人发现stackoverflow对你们对像我这样的新程序员的帮助非常有帮助。
这是一个
已知问题,由windows.h
中定义的不幸max
宏引起(实际上,windef.h
包含在windows.h
更准确地说)。在包含windows.h
之前定义NOMINMAX
应该可以解决问题。例如:
#define NOMINMAX
#include <windows.h>
有时#define NOMINMAX
不起作用(我见过这样的例子),那么你总是可以#undef MIN
和#undef MAX
。
此外,当您使用VS2010时,通常最好将Windows的此类预处理器解决方法放在stdafx.h
中,而不是一直重复它们。
相关文章:
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 写入位置0x0000000C时发生访问冲突
- 问:如何使用C++中的按钮从窗口打开窗口
- SDL 窗口不会弹出
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 如何在cpp文件之间切换窗口?在Qt中
- QuadTree只在窗口的右上角绘制
- 引发异常:读取访问冲突**dynamicArray**为0x1118235.发生
- VS Code "command":"make"与终端窗口中的命令行"make"不同
- C++LinkedList问题.数据类型之间存在冲突?没有匹配的构造函数
- 如何在C++中找到active directory中禁用和锁定的窗口帐户
- 链表中写入访问冲突的未知原因
- 处理闪烁窗口事件
- 如何通过按下第三个窗口中的按钮,将QString从一个窗口获取到另一个窗口
- 有没有办法在窗口上注册热键而不会发生冲突
- 试图创建SFML窗口时发生访问冲突
- 窗口和限制的冲突
- 访问冲突读取位置0xfeeefef2多线程编程c++窗口