我有這些文件給我解決,我對頭部防護有些疑問。如何檢查是否定義了頭部防護
在
testGuards.h
,有這樣定義__HEADER_GUILD_SAFEBOX__
,但#ifdef
詢問是否__GUILD_SAFEBOX__
定義,所以我不知道這是否#ifdef
應該問的關於__HEADER_GUILD_SAFEBOX__
代替__GUILD_SAFEBOX__
。在
testCpp.h
我問__GUILD_SAFEBOX__
已經被定義,但是,據我所知,它是在testGuards.h
已經定義,但這裏(CPP),我們從來沒有進入#ifdef
,我不知道,怎麼知道如果沒有定義,如果沒有定義,然後定義它。
我有2個代碼。
testGuards.h
#ifndef __HEADER_GUILD_SAFEBOX__
#define __HEADER_GUILD_SAFEBOX__
#include "stdafx.h"
#ifdef __GUILD_SAFEBOX__
[...]
#endif
testCpp.cpp
#include "stdafx.h"
#ifdef __GUILD_SAFEBOX__
#include "../common/tables.h"
[...]
#endif
包含雙下劃線的標識符(包括宏名稱)是[保留用於實現](htt p://stackoverflow.com/a/228797/501250)(編譯器和標準庫)。 **你不應該使用它們** – cdhowie
我認爲你並不是要把stdafx.h放在文件第一行以外的任何地方 –
@cdhowie非常感謝,對我非常有用,我收穫了所有。 我將__HEADER_GUILD_SAFEBOX__更改爲__GUILD_SAFEBOX_H並正常工作。 – Alejoo