如何在c ++的main函数之外使用int argc,char*argv []?

wyy*_*yxz 0 c++ visual-c++ c++11

我在用c ++编写代码时遇到了问题.我int argc,char *argv[]在main函数之外使用它告诉我它们没有定义.
我试过用extern它但没有帮助.有人可以帮我这个吗?谢谢!

extern int __argc;
extern char **__argv;
Run Code Online (Sandbox Code Playgroud)

Rob*_*obᵩ 6

尝试要么设置全局变量,或传递的价值观argcargv你的功能.

方法1:

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();
}
Run Code Online (Sandbox Code Playgroud)

方法2:

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