std::min std::max应输入标识符

举报
风吹稻花香 发表于 2021/06/05 00:39:58 2021/06/05
【摘要】 std::min std::max应输入标识符 编译时报错: 错误    C2062    意外的类型“unknown-type”    FaceDetector    D:\project\face\Face-Detector-1MB-with-land...

std::min std::max应输入标识符

编译时报错:
错误    C2062    意外的类型“unknown-type”    FaceDetector    D:\project\face\Face-Detector-1MB-with-landmark\Face_Detector_ncnn\FaceDetector.cpp    199    
错误    C2589    “(”:“::”右边的非法标记    FaceDetector    D:\project\face\Face-Detector-1MB-with-landmark\Face_Detector_ncnn\FaceDetector.cpp    199    
错误    C2059    语法错误:“)”    FaceDetector    D:\project\face\Face-Detector-1MB-with-landmark\Face_Detector_ncnn\FaceDetector.cpp    199    
错误    C2589    “(”:“::”右边的非法标记    FaceDetector    D:\project\face\Face-Detector-1MB-with-landmark\Face_Detector_ncnn\FaceDetector.cpp    200    
错误    C2062    意外的类型“unknown-type”    FaceDetector    D:\project\face\Face-Detector-1MB-with-landmark\Face_Detector_ncnn\FaceDetector.cpp    200    
错误    C2059    语法错误:“)”    FaceDetector    D:\project\face\Face-Detector-1MB-with-landmark\Face_Detector_ncnn\FaceDetector.cpp    200    
 

原因处在vc和c++模板库上.
名字min和max与<windows.h>中传统的min/max宏定义有冲突。为了解决这个问题,Visual C++ 定义了另外两个功能相同的模板:_cpp_min() 和 _cpp_max()。我们可以用它们来代替std::min() 和 std::max()。为了禁用Visual C++中的 min/max宏定义,


方法1:
在包含<windows.h>头文件之前加上:#define NOMINMAX
也可以不在<windows.h>上面,但是要在头文件的上面。

方法2:将NOMINMAX 加入预定义处理器中.
记得以前也遇到过类似的错误,也是在预定义处理器上加东西

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/102808589

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。