繁体   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