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

NULL undeclared identifier in C++/CLI

在我的 C++/CLI 库中,出现编译器错误:

error C2065: 'NULL' : undeclared identifier

为什么会这样?注意:我将 unmanaged 指针的值设置为 NULL,而不是托管 clr 对象指针。

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

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

为什么我在使用 NULL 时突然遇到问题?

此外,我可以对非托管类型和托管类型使用 nullptr 是真的吗?

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

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

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