所以我真的拥有这个星球上最简单的C ++文件,它不会编译。我似乎无法弄清楚以前在哪个主要定义,是在一些奇怪的搜索路径?我四处寻找并且无法正常工作。
#include <iostream>
int main(int argv, char* argv[]) {
std::cout << "It worked!" << std::endl;
return 0;
}
当我编译时会发生这种情况:
g++ -c main.cpp -O3
main.cpp:4:31: error: conflicting declaration ‘char** argv’
int main(int argv, char* argv[]) {
^
main.cpp:4:14: error: ‘argv’ has a previous declaration as ‘int argv’
int main(int argv, char* argv[]) {
^
main.cpp:4:5: warning: ‘int main(int)’ takes only zero or two arguments [-Wmain]
int main(int argv, char* argv[]) {
^
make: *** [main.o] Error 1
答案 0 :(得分:5)
应该是:
int main(int argc, char* argv[])
您的参数目前都称为argv。
答案 1 :(得分:1)
主要功能未在其他任何地方定义。 main函数的参数具有相同的名称。改变他们。