C++ 如何在C++;头文件?
我目前有一些头文件。一个名为“globalVar.h”表示全局变量,一个名为“generate.h”表示与生成有关的变量,我有一个名为“screen.h”表示与屏幕有关的变量。每当我包含这些变量并运行文件时,我的每个变量都会出现与此完全相同的错误:C++ 如何在C++;头文件?,c++,C++,我目前有一些头文件。一个名为“globalVar.h”表示全局变量,一个名为“generate.h”表示与生成有关的变量,我有一个名为“screen.h”表示与屏幕有关的变量。每当我包含这些变量并运行文件时,我的每个变量都会出现与此完全相同的错误: globalVar.h:7:19: warning: 'y' initialized and declared 'extern' extern int x = 1, y = 1; // player coordinates 为什么会这样?对于本例
globalVar.h:7:19: warning: 'y' initialized and declared 'extern'
extern int x = 1, y = 1; // player coordinates
为什么会这样?对于本例,“globalVar.h”标题的代码如下:
\ifndef globalvarh
#定义globalvarh
#包括
#包括
外部int x=1,y=1;//玩家坐标
外部运行状况=100;//球员健康
外部内部播放器=“@”;//玩家符号
外部内部gX,gY;//地精坐标
外部运行状况=100;//地精健康
外星小妖精='G';//地精符号
#恩迪夫
我做错什么了吗?我当然是这样,因为这对我来说很有意义,但我真的不知道头文件是如何工作的
有人有什么想法吗?远离全局变量。当你这样做的时候,这样的问题就完全消失了。这些应该包含在特定范围内创建和使用的某种
struct
或class
中。提示:当您声明某个extern
时,您的意思是“在别处定义了这个东西”。你说“它是在别处定义的,也是这个值”,这是一个矛盾。这回答了你的问题吗@塔德曼:你知道开始学习这些的参考资料吗?因为我甚至不知道从哪里开始。我想我从来没有真正想过什么是extern
。谢谢你的帮助。:)
#ifndef GLOBALVAR_H
#define GLOBALVAR_H
#include <iostream>
#include <windows.h>
extern int x = 1, y = 1; // player coordinates
extern int health = 100; // player health
extern int player = '@'; // player symbol
extern int gX, gY; // goblin coordinates
extern int health = 100; // goblin health
extern int goblin = 'G'; // goblin symbol
#endif