CLion无法解析类型std :: unordered_map,即使它提示我包含标题和编译工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CLion无法解析类型std :: unordered_map,即使它提示我包含标题和编译工作相关的知识,希望对你有一定的参考价值。
出于某种原因,我的CLion无法识别std::unordered_map
,尽管它实际上建议我在我第一次写出类型定义时包含Alt+Enter
的标题。在我包含#include <unordered_map>
的标题后,编译也可以。
我甚至可以按住Ctrl +单击include
行来查找头文件,但我无法点击类型定义行(保持红色)。我不明白为什么IDE一直拒绝识别代码中的类型。
实际上,它建议我加入bits/unordered_map.h
。我可以在unodered_map.h
和/usr/include/c++/7.3.1/unordered_map
找到/usr/include/c++/7.3.1/bits/unordered_map.h
。我不确定这两者之间有什么区别。包括其中之一或两者都不能解决问题。
我已经在我的-std=c++11
中添加了CMAKE_CXX_FLAGS
到CMakeLists.txt
。
CLion 2018.1,gcc 7.3.1,Arch Linux。
坏消息:这是CLion issue。
好消息:它是固定的。请尝试使用CLion 2018.1.1 EAP。这个问题应该在其中修复。
这是相关的problem。
我不知道CLion但是在Eclipse Luna中使用TDM-GCC作为编译器这些错误通常是因为项目没有构建而引起的。还要验证unordered_map确实位于项目的/ include文件夹中。您还可以包含更高的标准标志,例如-std = c ++ 14。
希望这可以帮助!
以上是关于CLion无法解析类型std :: unordered_map,即使它提示我包含标题和编译工作的主要内容,如果未能解决你的问题,请参考以下文章
无法专门化std :: hash来存储unordered_map中的自定义类型
为啥 std::unordered_set 不将 CComBSTR 类型作为键?
std::unordered_map::find 使用不同于 Key 类型的类型?
在 std::unordered_map 中存储指向不同类型类的指针