新建了一个win32的控制台工程,用到std::min函数,结果报错:
error C2589: “(”:“::”右边的非法标记
error C2059: 语法错误:“::”
解决办法:

  1. 加上括号 (std::min)(a, b) (std::max)(a, b)
  2. 设置项目属性,在预定义处理器中添加定义NOMINMAX来禁止使用VC的min/max宏定义。 std::min std::max VC下编译错误 error C2589: “(”:“::”右边的非法标记 error C2059: 语法错误:“::”

原因:
项目中包含了windows.h,在windows.h中定义了宏max和min,所以调用std::min(a,b)会将min当做宏,std::就报错了。

相关文章:

  • 2021-11-04
  • 2021-08-26
  • 2021-09-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-09
  • 2021-10-05
相关资源
相似解决方案