C++/CLI中未声明的标识符为NULL



在我的C++/CLI库中,我得到了编译器错误:

error C2065: 'NULL' : undeclared identifier

为什么会发生这种情况?注意:我将非托管指针的值设置为NULL,而不是托管clr对象指针。

我知道我可以将NULL定义为0,但这并不能回答为什么会突然发生这种情况。我在其他地方使用NULL,一切都很好。

如果我将Windows.h添加到我的stdafx.h包含文件中,那么我会收到与其他dll链接的stdlib版本不匹配的警告。

为什么我在使用NULL时突然出现问题?

此外,我真的可以将nullptr用于非托管类型和托管类型吗?

EDIT:似乎nullptr是否可以用于非托管类型的答案是肯定的。所以我认为答案是开始使用nullptr

https://msdn.microsoft.com/en-us/library/4ex65770.aspx

您必须包括stdlin.h或stddef.h,我相信

最新更新