作者:
LPH66 (-6.2598534e+18f)
2017-04-23 02:50:00对编译器来说, header guard 的名字只是另一个宏名字而已所以只要不要跟你的程式里的所有变量/宏等等名字撞名就好一旦撞名, 因为那个宏定义是把它代换成空字串撞名的那个名字就会不见那不见之后会报什么错就不一定了这也就是你前一个问题在问的会有人故意加 INCLUDED 的原因因为那个名字就够长到出现在程式里面的机率非常小再来, header guard 之所以会写档名的原因是为了明确指出这是用在对谁的 guard 这样而已, 总不能写这个但影响别人吧最后, 所有以上的麻烦都可以用 #pragma once 取代