[英]is there a way to check if variable is declared at compile time?
我的意思是這樣的情況(這當然是錯誤的代碼/ idea only /,據我所知它不會那樣工作):
int main() {
int my_int = 42;
#ifdef my_int
my_int = 43;
#else
int my_int = 43;
}
我知道c / c ++程序看不到變量名,也無法告訴它是否已設置,但是編譯器可以做到,我問這里有什么方法可以將編譯器定向到給定的操作,例如省略或插入代碼段代碼遇到相同塊中有重復聲明的情況。
不。當您有重復的聲明時,唯一可能發生的是編譯器錯誤。 它總是格式錯誤。 而且由於預處理器不了解變量,因此您也不能使用它。
不,沒有辦法。 即使有,使用它也會走上瘋狂的道路。
如果您知道符號的聲明以某個定義的常量為條件,請對該常量使用#ifdef
來決定要做什么。
如果您不知道符號的聲明是基於什么條件的,那么您真的不應該搞混該符號,因為它顯然在您的項目外部。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.