clang ++:C ++需要一个类型说明符

时间:2012-10-19 11:03:55

标签: clang++

我无法克服这个'C ++需要使用clang ++的所有声明的类型说明符' 请建议使用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.

2 个答案:

答案 0 :(得分:2)

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

使用clang -x c f.cpp

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

如果你想摆脱警告,那就去做吧 clang -Wimplicit-int -x c f.cpp

答案 1 :(得分:1)

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

int main(int argc, char** argv)
{
    int A;
}