Qt Creator的智能感知认为最小值和最大值是定义的,即使它们不是
Qt Creator's intellisense thinks that min and max were defined even though they weren't
在我的代码中,我有
#define NOMINMAX
#include <windows.h>
但是,每当我使用std::max
或std::min
时,intellisense就会用红色下划线,即使编译器对此没有抱怨。如果我将代码更改为
#define NOMINMAX
#include <windows.h>
// make sure they min/max weren't defined
#if defined(min) || defined(max)
#error "min or max were defined"
#endif
// but intellisense still thinks they were,
// so this is needed
#undef min
#undef max
问题消失了。但是定义NOMINMAX
阻止了windows.h
定义min/max,那么为什么intelligense认为它们是定义的,即使它们不是?我已经检查过了,我添加的预处理器错误永远不会被命中。
实际上,我没有卸载它。如果我添加DEFINES+=NOMINMAX
,它有助于整理索引器
然后关闭并重新打开项目。尽管每次更改.pro文件后,QtCreator都会告诉"正在分析",但我并没有看到立即的效果。看起来如果你重新打开项目,它会更好地"分析"
我的QtCreator版本是2.6.1,我使用Qt5.0.0
相关文章:
- 在提升multi_index容器中,是否定义了"default index"?
- #定义c-预处理器常量..我做错了什么
- 用C++中的一个变量定义一个常量
- 部分定义/别名模板模板参数
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- #为""定义宏;静态";针对不同的上下文
- 如何确保C++函数在定义之前声明(如override关键字)
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 当类在C++中定义时,有什么方法可以"register"类吗?
- 在命名空间中定义函数还是限定函数
- 此代码是否违反一个定义规则
- 更改 git 分支名称后,在项目的 Visual Studio 代码中丢失智能感知(建议,转到定义C++
- 智能感知:标识符"node"未定义
- 智能感知:标识符"XMFLOAT4"未定义
- 错误:智能感知:标识符"uint32"未定义?
- 智能感知:我的函数中使用的每个变量的标识符"[blank]"未定义
- 智能感知错误标识符"emlrtStack"未定义
- 如何在c++中设置智能感知来显示自定义数据类型
- Qt Creator的智能感知认为最小值和最大值是定义的,即使它们不是
- 映射和节点,错误智能感知:不存在从"const std::pair<const int, double>"到"Node"的合适用户定义转换