![](/img/trans.png)
[英]In Class declaration, why can't the parameters in the constructor have the same name as the variables defined in the private part?
[英]Why can't I pass global Variables as parameters in function declaration
為什么我不能全局定義一個變量,然后將其傳遞給 function,以便我可以在多個地方使用該變量? 我嘗試在下面的代碼中這樣做,但編譯器拋出錯誤。
#inclued <stdio.h>
using namespace std;
int a = 0;
int b = 0;
int add(int a, int b){
int c = a+b;
return c;
}
int main(){
int c = add(5,6);
cout<<c;
return 0;
}
如果你聲明全局變量你不需要在函數中再次聲明,而是可以直接使用
int a = 0;
int b = 0;
int add(){
int c = a + b;
return c;
}
如果您真的想用參數聲明函數,那么您不需要全局變量,因為 function 將使用您的參數而不是全局變量。
首先,您不應該將代碼作為圖片發布,您可以點擊以下鏈接了解更多信息。
為什么我不能在 function 聲明中將全局變量作為參數傳遞。
在您的代碼中,您已將a
和b
聲明為全局變量。 但是在你的 add function 中, a
和b
都是它們本地空間中的全新變量。 這就是為什么改變局部空間的值不會對這些全局變量產生任何影響。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.