c++ - #define StrToInt StrToIntA 导致外部引用错误

标签 c++

我正在尝试编译一个旧项目,其中包含一个名为 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/

相关文章:

c++ - 在构造函数中创建的外部 vector

c++ - 正在无限调用二叉搜索树的复制构造函数

c++ - 使用 clang 和 libstdc++ 时无法使用实验性::可选的常量引用

c++ - 迭代最近点算法编译过程中遇到错误

c++ - bool 变量的线程同步

c++ - QFile 打不开

c++ - 不使用new()可以实现工厂模式构造吗?

c++ - 这个 C++ 初始化有效吗?

C++创建没有默认构造函数的对象数组

C++ 销毁 allocator<string> 中的元素时是否会导致双重释放?