簡體   English   中英

如何通過C++中的函數初始化全局變量

[英]How to initialize global variables via a function in C++

我正在學習 C++。 我想要一個函數來初始化我的變量。 例如:

#include <iostream>

double a,b
void Initializer ( double x, double y)
{
    a = x;   //a and b are global variables.
    b = y;
}
int main()
{
    Initializer(0.,4.);
    std::cout<<a<<" "<<b<<std::endl;
    return 0;
}

但是,我的全局變量得到了垃圾。 例如,我調用了initializer(0.,4.) ,我期望a==0b==4 但是,當我打印這些值時,它們分別不是 0,4。

我看不出你的代碼有什么問題(格式除外)。 這是您可以在 C 和 C++ 中初始化全局變量的方式(完整的格式化示例):

#include <iostream>

void Initializer(double x, double y);

using namespace std;

double a, b;

void Initializer(double x, double y) {
    a = x;  // a and b are global variables.
    b = y;
}
int main() {
    Initializer(0.0, 4.0);
    cout << a << " " << b << endl;

    return 0;
}

請注意這一行: cout << a << " " << b << endl; (連同相應的includeusing namespace std; )正在使用 C++ 流。 其余的也可以編譯為 C 代碼。

如果您提供這樣的雙打,它也會更具可讀性: Initializer(0.0, 4.0); .

暫無
暫無

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

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