0

我在用 C++ 编写代码时遇到问题。我int argc,char *argv[]在 main 函数之外使用它,它告诉我它们没有定义。
我曾尝试使用,extern但它没有帮助。谁能帮我解决这个问题?谢谢!

extern int __argc;
extern char **__argv;
4

1 回答 1

6

尝试设置一个全局变量,或者将 和 的值传递argcargv您的函数。

方法一:

int argc;
char **argv;

void some_other_function() {
  std::cout <<  argv[0] << "\n";
}
int main(int ac, char **av) {
  argc = ac;
  argv = av;
  some_other_function();
}

方法二:

void some_other_function(int argc, char **argv) {
  std::cout <<  argv[0] << "\n";
}
int main(int ac, char **av) {
  some_other_function(argc, argv);
}
于 2013-05-21T18:50:41.687 回答