当我们想在程序中定义使用一个全局变量时。
刚开始我是在每个类都包含的头文件中定义
static int X = 0;
这会导致包含了该头文件的所有源文件中都定义了这些变量,即该头文件被包含了多少次,这些变量就定义了多少次。假如将上面的static去掉,编译的时候就会出现变量重定义的错误。
可以用extern关键字在头文件进行变量声明
//Header.h
#pragma once
extern int X;
//Source.cpp
#include <stdio.h>
#include "Header.h"
int X = 3;
void TestSource() {
printf("X value: %d\n", X);
}