作者:
LPH66 (-6.2598534e+18f)
2017-04-23 02:50:00對編譯器來說, header guard 的名字只是另一個巨集名字而已所以只要不要跟你的程式裡的所有變數/巨集等等名字撞名就好一旦撞名, 因為那個巨集定義是把它代換成空字串撞名的那個名字就會不見那不見之後會報什麼錯就不一定了這也就是你前一個問題在問的會有人故意加 INCLUDED 的原因因為那個名字就夠長到出現在程式裡面的機率非常小再來, header guard 之所以會寫檔名的原因是為了明確指出這是用在對誰的 guard 這樣而已, 總不能寫這個但影響別人吧最後, 所有以上的麻煩都可以用 #pragma once 取代