包括 xCode 中未显示的错误

Include errors not shown in xCode

本文关键字:错误 显示 xCode 包括      更新时间:2023-10-16

最近我开始解决在线法官的问题,例如UVA在线法官。我尝试用C++解决这些问题,并使用xCode IDE编写代码。

但是,当我在我的代码中使用一些 C 函数(如 printf 或 scanf)时,xCode 不会抱怨并且一切运行良好,但是,当我将我的代码提交给评委时,它正在使用 GNU C++ 4.5.3 进行编译,并且给出了编译错误。问题是我必须包含 cstdio 标头。

有点烦人的是,xCode没有对这个小错误给出任何警告。有什么方法可以打开这些错误吗?因此,当我使用需要标头的函数时,它会发出警告或错误?

谢谢!

该问题是由LLVM编译器的头文件集引起的。 <iostream>包括<ios>其中包括<cstdio>,这将导致printf的声明存在。

如果使用标志编译 cpp 代码 -std=gnu++0x ,在 Linux 上的 g++ 下,它将成功编译。

我认为没有一个选项会在MacOS X上触发相同的错误,除非您安装了gcc的完整副本,包括gcc标头,因为标头隐式包含在<ios>标头中LLVM

在这种情况下,你应该做#include <cstdio>以确保声明函数,这也适用于 gnu gcc 编译器。

相关文章: