包含头文件unordered_map时出错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了包含头文件unordered_map时出错相关的知识,希望对你有一定的参考价值。
当我在我的代码中包含unordered_map头文件时,它会给我以下错误
"/usr/lib/gcc/armv7l-tizen-linux-gnueabi/6.2.1/include/c++/bits/hashtable.h:
In constructor 'std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
_H1, _H2, _Hash, _RehashPolicy, _Traits>::_Hashtable(_InputIterator,
_InputIterator, std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal,
_H1, _H2, _Hash, _RehashPolicy, _Traits>::size_type, const _H1&, const _H2&,
const _Hash&, const _Equal&, const _ExtractKey&, const allocator_type&)':
error: expected unqualified-id before '(' token
[ 29s] #define max(a, b) (((a) > (b)) ? (a) : (b))"
我确定没有语法错误。我认为宏和std :: unordered_map之间存在冲突,但我不知道如何解决这个问题。这里我将unordered_map包含在另一个文件包含的文件中,类似于定义了宏max的头文件也包含在同一个文件中。
答案
是的,您的宏max()
和std::max()
函数之间存在冲突。
解决方案应该很简单:删除你的max()
宏并使用std::max()
代替。
另一答案
找出max()定义来自哪里,如果它在你自己的代码中你应该删除它,如果它在系统头中尝试移动包括直到之后
以上是关于包含头文件unordered_map时出错的主要内容,如果未能解决你的问题,请参考以下文章
CLion无法解析类型std :: unordered_map,即使它提示我包含标题和编译工作
使用 unordered_map 值初始化指向向量的指针时出错