我们使用一个大枚举来传递消息,我们的代码库中有一些可选部分使用特定消息,如果要编译这些部分,实际上只需要将这些消息添加到枚举中。有没有办法定义一个可以执行此操作或类似操作的宏?我希望能够添加 REGISTER_MSG(MESSAGE_NAME);到可选代码中文件的开头。我想真正的问题是宏只替换了它们所写位置的代码。
最佳答案
确实,您不能让宏修改其他编译单元中的代码。所有编译单元的枚举都应该相同。
(我可能不会使用具有自动分配值的枚举来识别协议(protocol)中的消息,顺便说一句。)
关于c++ - 有没有办法在编译时使用宏从其他地方向枚举添加额外的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1267019/