我正在尝试编译一个旧项目,其中包含一个名为CVUtil的类,并带有一个函数
称为StrToInt(char *, int *)
使用语法CVUtil::StrToInt(pSomeChar,pSomeInt)在项目中的多个位置调用此函数。
尝试编译该项目时,VisStudio会将StrToInt更改为StrToIntA,因为其中包含Shlwapi.h文件,并且其中包含预处理程序语句
"#define StrToInt StrToIntA"。我知道我可以通过仅更改函数名称来避免这种情况,但想了解如何避免这种情况而不必这样做。
问候,阿尼

最佳答案

您可以在包含类定义的标头中输入#undef StrToInt,但正确的方法是重命名该函数。

关于c++ - #define StrToInt StrToIntA导致外部引用错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12637865/

10-11 18:47