C++错误 ERROR C3861

C++错误 ERROR C3861,第1张

因为要调用别人写的一些结构函数,在自己工程中添加了对应的a.cpp和a.h文件(非封装类,普通文件),里面包含max()和min()函数,结果包含对应头文件后出现如题的错误

error C3861: “max”: 找不到标识符;

解决办法:

1、在添加的a.h文件中#define了max和min函数,编译出现max、min重定义错误,(因为系统默认头文件windef.h中也定义了相应函数,造成重定义)

2、在a.h中包含windef.h,提示windef.h中有些莫名其妙的错误,因为是系统文件确认应该这样添加应该是错误的

= =如果是C++的话可以用考虑

namespace a{

#include "svm_common.h"

}

namespace b{

#include "windef.h"

}

把它们放到两个命名空间中,用a::WORD和b::WORD这样分别引用。如果是C语言,并且有其它东西依赖于这个类型(例如接受这个类型为参数的函数)的话,就非常麻烦了……

标准C没有提供这个库函数,因此不包含在任何头文件中。其意思是找最大值,可以自己编写自定义函数。

下面是打两个整数的最大值函数。

int max(int a,int b)

{

return a>b?a:b

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11639294.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存