<stddef.h> std :: ptrdiff_t&#39;尚未宣布

时间:2016-09-29 12:03:11

标签: c++ std qnx ptrdiff-t

我制作了自己的源文件,并且我尝试添加stddef.h。在编译时我有以下错误:

  

的std :: ptrdiff_t的&#39;尚未宣布。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

问题是您要包含标准 C 标头,而不是标准C ++标头。

标准C标头不会将它们的符号放在std命名空间中,因为C没有这样的东西。

如果要使用C ++ ptrdiff_t命名空间中的std类型别名,那么您有其他需要C头的应用程序并不重要,您必须包含{{1} }。

或停止使用<cstddef>并使用std::ptrdiff_t中的不合格和全球ptrdiff_t