我在演示项目中有一个文件 iforce2d_topdown_car.h ,其中包含如下保护:
#ifndef IFORCE2D_TOPDOWN_CAR_H
#define IFORCE2D_TOPDOWN_CAR_H
... source code ...
#endif
这包含在 HelloWorldLayer.h 中,然后包含在另外两个文件中(除了 iforce2d 标头之外,这都是 obj-c)。一切编译正常,但我得到的任何错误都会显示 3 次。这让我很恼火,我想知道它是否是更大问题的征兆。
这是预期的行为吗?在我看来,如果定义了预处理器 var,那么它将保持定义,并且下次包含它时将不会被编译。这里似乎不是这种情况,但我不知道为什么。