VCDI 2023-12-19 18:37 采纳率: 83.3%
浏览 100
已结题

std::min代码出错,提示请输入标志符

windows visual 这句std::min代码出错,提示请输入标志符

#include <algorithm>

int a = 1;
int b = 2;
int result = std::min(a,b);
  • 写回答

1条回答 默认 最新

  • K_n_i_g_h_t_1990 2023-12-19 19:10
    关注

    你的代码出错的原因是 windows.h 头文件中定义了 min 和 max 的宏,和 std::min 和 std::max 的函数模板冲突了。你可以在包含 windows.h 头文件之前加上 #define NOMINMAX 来禁用这些宏,或者在 std::min 和 std::max 外面加上括号来阻止宏替换,例如 (std::min)(a,b)。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月27日
  • 已采纳回答 12月19日
  • 创建了问题 12月19日