我正在尝试编译一个旧项目,其中包含一个名为 CVUtil 的类和一个函数
称为 StrToInt(char *, int *)
。
使用语法 CVUtil::StrToInt(pSomeChar,pSomeInt)
在项目中的多个位置调用此函数。
当尝试编译此项目时,VisStudio 会将 StrToInt
更改为 StrToIntA
,因为文件 Shlwapi.h 包含在某处,其中包含预处理器语句
“#define StrToInt StrToIntA”
。我知道我可以通过更改函数名称来避免这种情况,但想知道如何在不这样做的情况下避免这种情况。
问候,阿尼
最佳答案
您可以在包含类定义的 header 中#undef StrToInt
,但正确的方法是重命名该函数。
关于c++ - #define StrToInt StrToIntA 导致外部引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12637865/