我正在学习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==0
和b==4
;但是当我打印这些值时,它们分别不是0.4。
答案 0 :(得分:1)
我没有看到您的代码有任何错误(格式除外)。这是在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;
(以及相应的include
和using namespace std;
)正在使用C ++流。其余的也可以编译为C代码。
如果你提供这样的双打,它也会更具可读性:Initializer(0.0, 4.0);
。