.\src\library\tLuaCOMConnPoints.cpp(704): error C2589: “(”:“::”右边的非法标记
.\src\library\tLuaCOMConnPoints.cpp(704): error C2062: 意外的类型“unknown-type”
.\src\library\tLuaCOMConnPoints.cpp(704): error C2059: 语法错误:“)”
1. 错误原因
函数模板max与Visual C++中的全局的宏max冲突。
2. 解决办法
- 第一种办法:设置项目属性,在预定义处理器中添加定义NOMINMAX来禁止使用Vsual C++的min/max宏定义。
项目属性 ——> C/C++ ——> 预处理器 ——> 预处理器定义 (此处添加预定义编译开关 NOMINMAX)
- 第二种办法: 加上括号,与Vsual C++的min/max宏定义区分开
-
int num_params = std::max(0, user_last_param - user_first_param + 1);修改为
-
int num_params = (std::max)(0, user_last_param - user_first_param + 1);
本文介绍了在Visual C++编译时遇到的错误,由于函数模板max与内置宏max冲突导致编译失败。解决方案包括在项目属性中设置预处理器定义NOMINMAX,或者通过括号明确调用std::max来避免宏冲突。通过这些方法,开发者可以成功编译含有std::max的C++代码。
3948

被折叠的 条评论
为什么被折叠?



