【问题标题】:C++ Semantical Errors when Compiling [closed]编译时的 C++ 语义错误[关闭]
【发布时间】:2012-10-22 23:13:06
【问题描述】:

我在使用 C++ 编程时遇到了麻烦,因为在我处理一个项目时,我遇到了一堆不应该存在的语义错误。

当我的一位同事开始一个项目并将其发送给我时,我的计算机出现错误,而她没有。

我以前也遇到过这种情况。我开始为一个项目工作,它出现了类似的错误。然后,在我老师的电脑上,它就消失了。

我最近格式化了我的电脑,现在使用的是 64 位 Windows 8。我使用 Eclipse Juno C++ 64 位,但也在 Indigo 上尝试过,但没有成功。我的编译器是 MinGW 9.4。

我猜肯定有一些配置问题。可能与建筑物有关。

我想要一个不会停用我认为有用的错误的解决方案。

有人可以帮帮我吗? =)

编辑:几乎所有出现的错误都是

方法 X 无法解析。

无效参数

编辑2:

可能您的同事正在使用 Microsoft 编译器,与 gcc(可能是 MinGW 使用的编译器)相比,该编译器在允许非法代码方面明显更为宽松。 – 马克 B

我的同事和教授也在使用 Eclipse 和 MinGW。

【问题讨论】:

  • 发布错误,否则没有人可以帮助您。
  • 可能您的同事正在使用 Microsoft 编译器,与 gcc(可能是 MinGW 使用的编译器)相比,该编译器在允许非法代码方面明显更为宽松。
  • 这是一个奇妙的故事,它有神秘和阴谋,但缺乏浪漫。

标签: c++ eclipse compiler-errors


【解决方案1】:

首先,它们不称为语义错误。语义是指您的程序的含义,表明存在逻辑错误。我假设您在谈论编译器错误,通常是指不正确的语法

其次,您可能会在不同的计算机上收到不同的错误和警告,原因有很多。一些编译器和编译器版本在一致性方面比其他编译器更严格。有些有错误。您可能具有其他编译器无法识别的编译器特定扩展。您可能设置了不同的标志,这将影响您收到的错误的数量和类型。 (一个极端的例子是 -wall -werror,但即使是在 C++03 与 C++11 中编译之类的东西也会导致许多差异。

导致不同计算机错误的另一个主要原因是库放置。 C 和 C++ 编译器/链接器在确保您在正确的位置拥有所有正确的头文件和库并设置正确的路径方面非常困难。

【讨论】:

  • 我说它们是语义错误,因为错误“类型”是“语义错误”。至于将警告变为错误,在其他计算机中,项目没有任何警告。只有在我的...
  • 编译器错误可能是语义错误。 void* x = 42; 存在语义错误:类型不匹配。 OTOH 的语法非常完美。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-06
  • 1970-01-01
相关资源
最近更新 更多