所以我在声明全局变量(在标题中)并使用它时遇到问题。我已经阅读了一些头文件及其工作方式,但是我不明白为什么我的代码不起作用。
这是我的内容(以简化的方式):
主要:
// main.cpp
#include "source.hpp"
int main()
{
return variable;
}
来源:
// source.cpp
#include "source.hpp"
variable = 17;
header :
// source.hpp
#ifndef __SOURCE_HPP_INCLUDED__
#define __SOURCE_HPP_INCLUDED__
extern int variable;
#endif // __SOURCE_HPP_INCLUDED__
我试过头文件中是否包含extern。
当我尝试(在源代码中编译)时出现此错误:
“变量”未命名类型
我没有正确理解什么?
另外,当我在main.cpp中声明相同的变量时,编译器会抛出有关“重新定义”变量的错误。这是为什么?
最佳答案
在source.cpp中,您需要定义变量:
int variable = 17;
关于c++ - header 和全局变量问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34983772/