C++ char*argv[]和int-argc+的全球范围+;
我得到了主函数:main(intargc,char*argv[])。我想在其他函数中使用以下变量:argc、argv:C++ char*argv[]和int-argc+的全球范围+;,c++,c,variables,main,C++,C,Variables,Main,我得到了主函数:main(intargc,char*argv[])。我想在其他函数中使用以下变量:argc、argv: int function() int main(int argc, char *argv[]) { ... function(); ... return 0; } int function() { int b=argc; return 0; } 但是编译器给出错误,argv未声明。如何在其他函数中使用这些变量?将它们作为参数传递给函数 int functi
int function()
int main(int argc, char *argv[])
{
...
function();
...
return 0;
}
int function()
{
int b=argc;
return 0;
}
但是编译器给出错误,argv未声明。如何在其他函数中使用这些变量?将它们作为参数传递给函数
int function(int argc)
{
int b = argc;
return 0;
}
打电话
function(argc);
在
main
中,argc和argv是main的局部变量。您可以将它们作为参数传递给其他函数。比如说
int function( int );
int main(int argc, char *argv[])
{
...
function( argc );
将函数声明为
int function (int argc) {
int b = argc;
....
}
在main-like中调用函数
function(argc);
或
使用静态变量存储argc和argv,但不建议这样做
在你主要
int g_argc;
char* g_argv[];
在你的主要职能中
g_argc = argc;
g_argv = argv;
function();
int您的函数直接使用g_argc另一种选择是使两个全局变量保持与argc和*argv相同的值当您也将其标记为
C++
时,您可以执行以下技巧:
int argc;
char **argv;
void foo() {
printf("argc: %d\n", argc);
for (int i=0; i < argc; i++)
printf("%s \n", argv[i]);
}
int main(int argc, char **argv)
{
::argc = argc;
::argv = argv;
foo();
return 0;
}
intargc;
字符**argv;
void foo(){
printf(“argc:%d\n”,argc);
对于(int i=0;i
我想您的意思是“…argc未声明”,对吗?调用它时,只需将它们作为参数传递即可。如果是这样的话,那是因为你没有把它作为参数传递给functionPlease,please,停止编码,找一本好的C语言书或教程来学习它。这将为您省去很多麻烦。谢谢,但当我想使用char*argv[]作为函数的参数时,编译器显示错误,括号前面应该有内容]我使用Visual Studio 2012为什么它会说:error:'g_argv'的类型不完整?@appqui platform:因为,在函数参数列表之外,数组不等价,必须声明char**g_argv代码>取而代之。