【问题标题】:Type size_t could not be resolve C++ eclipse类型 size_t 无法解析 C++ eclipse
【发布时间】:2014-07-03 10:34:28
【问题描述】:

我将使用 eclipse 在 c++ 中开发一个应用程序。我的问题是使用 size_t 类型变量在 first.cpp 文件中可以正常工作,但在同一项目的 second.cpp 文件中不能正常工作。

变量like的声明

size_t myVariable;

它说“类型 size_t 无法解析”

【问题讨论】:

  • 你在 second.cpp 中包含了 size_t 的头文件吗?
  • 将其更改为std::size_t 并在顶部添加#include <cstddef>
  • @Nipun Ya 我添加了所有头文件,但在我的 first.cpp 文件中使用了面向过程的代码,而我的 second.cpp 文件包含面向对象的代码。
  • @Simple 抱歉,我实际上使用了 std::size_t 然后它也不起作用......!
  • @Devani,你最好发布你的代码。没有它就很难理解。如果您有 VS 编辑器,请尝试在其上运行相同的编辑器。这将帮助您确定它是否会像您在问题中提到的那样因为 eclipse 编辑器而出现。

标签: c++ eclipse size-t


【解决方案1】:

您的 second.cpp 文件中缺少包含。 尝试添加即:

#include <cstdlib>

在这个文件中。那么size_t 应该是可解析的。 size_t 中的头文件定义如下:

<cstddef> <cstdio> <cstdlib> <cstring> <ctime> <cwchar>

另请参阅:here

如果你不使用using namespace std;,你必须写std::size_t。如果您想在全局命名空间中包含 size_t,则可以改为包含 - 但我建议不要这样做,因为它已被弃用并污染了全局命名空间。

【讨论】:

  • MSDN 说 STDDEF.H 代表 size_t
  • stddef.h 在 C++ 中已弃用,因为它将每个名称放在全局命名空间中。最好改用&lt;cstddef&gt;。另请参阅here
【解决方案2】:
typedef unsigned int size_t;

帮助。如有错误请指正。

【讨论】:

  • 我在 visualstudio2017-workload-nativedesktop 中找不到 site_t
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-12
  • 1970-01-01
  • 2013-07-03
  • 2012-05-27
  • 2019-08-06
  • 2014-11-10
相关资源
最近更新 更多