Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我已经制作了自己的源文件,并且正在尝试添加 stddef.h。编译时出现以下错误:
std::ptrdiff_t' 尚未声明。
我做错了什么?
问题是您包含标准C标头,而不是标准 C++ 标头。
标准 C 标头不会将它们的符号放在std名称空间中,因为 C 没有这样的东西。
std
您有其他需要 C 标头的应用程序并不重要,如果您想使用ptrdiff_tC++ 命名空间中的类型别名,则std必须包含<cstddef>.
ptrdiff_t
<cstddef>
或者停止使用std::ptrdiff_t并使用不合格的全局ptrdiff_tfrom <stddef.h>.
std::ptrdiff_t
<stddef.h>