我下载了jsvm软件,编译时遇到很多错误。其中很少有如下所示。
/usr/include/c++/4.3/bits/algorithmfwd.h:248:41: error: macro "max" passed 3 arguments, but takes just 2文件algorithmfwd.h如下
template<typename _Tp>
const _Tp&
min(const _Tp&, const _Tp&);
template<typename _Tp, typename _Compare>
const _Tp&
min(const _Tp&, const _Tp&, _Compare);// min_element
发布于 2011-05-09 16:17:15
错误非常明显:
max /usr/include/c++/4.3/bits/algorithmfwd.h:248:41:错误:宏“
”传递了3个参数,但只接受2个参数
在包含这个特定的头文件之前,您已经定义了一个带有3个参数的宏max。宏是邪恶的,因为它们应用于标识符出现的任何地方。检查您在代码中定义该宏的位置并将其删除,或者至少将其更改为大写(宏的通用约定),这样它就不会在所有其他标头中展开。
发布于 2011-05-09 16:17:12
它看起来像是,除了algorithmfwd.h中的函数之外,还有一个也称为max的预处理器样式的宏。尝试找出是谁定义了这一点,并避免包括头文件,或者如果其他方法都失败了,则使用#undef max。
发布于 2011-05-09 16:18:01
您没有显示最大宏。无论如何,您似乎正在尝试使用一个宏,该宏的参数比它预期的多一个。
我在编译时遇到了很多错误
试着按顺序解决你的错误,因为一个错误会影响下一个错误。
https://stackoverflow.com/questions/5934145
复制相似问题