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

时间:2013-05-21 18:49:07

标签: c++ visual-c++ c++11

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

extern int __argc;
extern char **__argv;

1 个答案:

答案 0 :(得分: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();
}

方法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);
}