簡體   English   中英

為什么我不能在 function 聲明中將全局變量作為參數傳遞

[英]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 聲明中將全局變量作為參數傳遞

在您的代碼中,您已將ab聲明為全局變量。 但是在你的 add function 中, ab都是它們本地空間中的全新變量。 這就是為什么改變局部空間的值不會對這些全局變量產生任何影響。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM