每当我运行代码时,它就会出现在第一个.cpp文件中,而忽略了另一个。
main.cpp中:
#include <iostream>
#include "variables.h"
#include "intro.cpp"
using namespace std;
float gold;
int main()
{
float gold = 0;
intro();
cout<<gold;
return 0;
}
intro.cpp:
#include "variables.h"
void intro()
{
gold = 5.0;
}
头:
#ifndef VARIABLES_H_
#define VARIABLES_H_
extern float gold;
#endif
它总是将黄金输出为0而不是5.我做错了什么?
答案 0 :(得分:2)
int main()
{
float gold = 0;
...
cout<<gold;
}
你声明了另一个变量gold
,本地,并打印出来。
删除局部变量声明:
int main()
{
...
cout<<gold;
}
或打印出全局变量:
int main()
{
float gold = 0;
...
cout << ::gold;
}
我建议你阅读Why should I not include cpp files and instead use a header?