所以我在声明全局变量(在标题中)并使用它时遇到了问题。我已经对头文件及其工作原理进行了一些阅读,但我无法理解为什么我的代码不起作用。
这是我所拥有的(以简化的方式):
主要:
// main.cpp
#include "source.hpp"
int main()
{
return variable;
}
源:
// source.cpp
#include "source.hpp"
variable = 17;
页眉:
// source.hpp
#ifndef __SOURCE_HPP_INCLUDED__
#define __SOURCE_HPP_INCLUDED__
extern int variable;
#endif // __SOURCE_HPP_INCLUDED__
我已经尝试在头文件中使用和不使用 extern。当我尝试(在源代码中编译)时出现此错误:"变量"不命名类型我有什么不理解的?
此外,当我在 main.cpp 中声明相同的变量时,编译器确实会抛出有关"重新定义"变量的错误。为什么?
> 在源代码中.cpp您需要定义变量:
int variable = 17;