2013-10-18 80 views
-3
int a(int p){ 

return ++p; 
}; 

int main(){ 
a(???); 
return 0; 
}; 

你怎么括号内写?以及....例子?打电话时用什么新名字?调用函数变量/名称信息

(我不知道如何准确解释我的意思是这是一个相当普遍的问题..?)的解释将是很好。我知道我可以写“时间”,“价格”等,但为什么我不能使用p?

+0

'无效main'是不合法的C++。返回类型必须是“int”。 – chris

+0

另外,当你在一个函数内部调用一个全局变量...为什么需要一个存储类?自动存储类给出了自动存储持续时间,为什么静态存储持续时间和程序范围名称需要存储类? – user2892942

+0

在visualbasic调试器中显示没有问题?当我编译程序时,它会是一个问题? – user2892942

回答

0

不能使用p因为p是不是在调用该函数的点范围 - 在你的代码,p是本地a()

你可以使用p,如果你不喜欢的东西:

int a(int p){ 
    return ++p; 
}; 

int main(void) { 
    int p = 4; 
    int p_plus_one = a(p); 
    return 0; 
}; 

,因为他们本地自己的范围,并不会冲突。

+0

你是否必须将void添加到参数中,还是可以将它留空? – user2892942

+0

在C++中,'()'和'(void)'在这个上下文中是等价的,这是一个趣味问题。 –

+0

另外,当你在一个函数内部调用一个全局变量...为什么需要一个存储类?自动存储类给出了自动存储持续时间,为什么静态存储持续时间和程序范围名称需要存储类? – user2892942

0

有没有像你需要使用新的名称为参数传递到函数

您可以将您所选择的任何integer变量传递到函数a()

例子:

如果你有一个变量p这样声明,你也可以通过它:

int main(){ 
int p = 50 ; //some integer value (it's necessary that the variable should be assigned a value) 
a(p); 
return 0; 
}; 

,或者如果你有一个变量time这种方式声明一样,你也可以通过它:

int main(){ 
int time = 60 ; //some integer value (it's necessary that the variable should be assigned a value) 
a(time); 
return 0; 
}; 
+0

尽管如此,最好不要赋予变量与标准库函数同名。 –

+0

是啊..但我这样做只是为了清除他的怀疑@PaulGriffiths –

+0

那些会被视为传递的价值? – user2892942