<stddef.h> std::ptrdiff_t' 尚未声明
<stddef.h> std::ptrdiff_t' has not been declared
我已经制作了自己的源文件,我正在尝试添加 stddef.h。编译时出现以下错误:
std::ptrdiff_t' has not been declared.
我做错了什么?
问题是您包含了标准 C header,而不是标准 C++ header .
标准 C header 不会将它们的符号放在 std
命名空间中,因为 C 没有这样的东西。
你有其他应用程序需要 C header 并不重要,如果你想使用 C++ std
命名空间中的 ptrdiff_t
type-alias,你必须包括 <cstddef>
.
或停止使用 std::ptrdiff_t
并使用来自 <stddef.h>
的不合格和全局 ptrdiff_t
。
我已经制作了自己的源文件,我正在尝试添加 stddef.h。编译时出现以下错误:
std::ptrdiff_t' has not been declared.
我做错了什么?
问题是您包含了标准 C header,而不是标准 C++ header .
标准 C header 不会将它们的符号放在 std
命名空间中,因为 C 没有这样的东西。
你有其他应用程序需要 C header 并不重要,如果你想使用 C++ std
命名空间中的 ptrdiff_t
type-alias,你必须包括 <cstddef>
.
或停止使用 std::ptrdiff_t
并使用来自 <stddef.h>
的不合格和全局 ptrdiff_t
。