Я недавно пытался создать глобальный заголовочный файл, который имел бы все определения кодов ошибок (т.е. NO_ERROR, SDL_SCREEN_FLIP_ERROR и т. Д.), Это были бы просто целые числа, которые я определил бы здесь.
Я включил их воба моих файла .cpp, однако я получаю сообщение об ошибке, где указано, что я определяю затем дважды.
globals.h:
#pragma once
// error related globals
int SCREEN_LOAD_ERROR = 1;
int NO_ERROR = 0;
main.cpp:
#include "globals.h"
#include "cTile.h"
/* rest of the code */
cTile.h:
#pragma once
#include "globals.h"
class cTile {
};
Жалуется, что SCREEN_LOAD_ERROR и NO_ERROR определены дважды, но, насколько я знаю, однажды #pragma это должно предотвратить (я также пробовал #ifndef, ноэто также не работало).
вывод компилятора:
1> main.obj: ошибка LNK2005: "int SCREEN_LOAD_ERROR" (? SCREEN_LOAD_ERROR @@ 3HA) уже определено в cTile.obj 1>main.obj: ошибка LNK2005: «int NO_ERROR» (? NO_ERROR @@ 3HA) уже определено в cTile.obj
Я что-то упустил?