我正在尝试编写一个托管C ++(又名C ++ / CLI)库,该库链接到第三方本机C ++库。第三方库的头文件包含使用nullptr关键字的构造函数定义。我的托管项目无法编译,因为托管编译器将nullptr定义为表示托管null引用,而第三方使用它表示本地/非托管null指针。如何在不修改第三方库头文件的情况下解决此问题?

有关nullptr__nullptr的参考,请参见:https://msdn.microsoft.com/en-us/library/4ex65770.aspx

最佳答案

C ++ / CLI支持与C ++相同的预处理器指令,对吗?这个可怕的骇客如何:

#define _ALLOW_KEYWORD_MACROS
#define nullptr __nullptr
#include "header.h"
#undef nullptr

关于c++ - 如何#include在C++/CLI项目中使用nullptr的第三方 native C++ header ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35808177/

10-13 06:03