1

我无法通过 clang++ 克服这个“C++ 需要所有声明的类型说明符”问题请建议使用 clang++ 克服这个错误。我非常感谢你看它

:>clang++ --version
clang version 3.1 (tags/RELEASE_31/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix


:>cat f.cpp
main(int argc, char** argv)
{
int A;
}



:> clang++ f.cpp
f.cpp:1:1: error: C++ requires a type specifier for all declarations
main(int argc, char** argv)
^~~~
1 error generated.

:> clang++ f.cpp -std=gnu++98
f.cpp:1:1: error: C++ requires a type specifier for all declarations
main(int argc, char** argv)
^~~~
1 error generated.


:> clang++ f.cpp -std=c++11
f.cpp:1:1: error: C++ requires a type specifier for all declarations
main(int argc, char** argv)
^~~~
1 error generated.

:> clang++ f.cpp -std=c++0x
f.cpp:1:1: error: C++ requires a type specifier for all declarations
main(int argc, char** argv)
^~~~
1 error generated.
4

2 回答 2

2

您正在调用 C++ 编译器 (clang++)。在 c++ 中,没有 main 的返回类型是非法的。如果它是一个 C 程序,那就没问题了。

使用 clang -xc f.cpp

在这种情况下,这只会发出警告。

如果您想摆脱警告,请执行 clang -Wimplicit-int -xc f.cpp

于 2013-05-02T16:55:54.843 回答
1

您需要指定主函数的返回类型!

int main(int argc, char** argv)
{
    int A;
}
于 2012-10-19T11:09:30.873 回答