我想编写一个生成一些代码的 x 宏。该代码依赖于几个标头,旨在在命名空间内生成。
问题是 xmacro 的包含被包含在调用者的命名空间中。有什么办法可以解决这个问题吗?
例子:
xmacro.hpp:
#include "foo.hpp"
struct bar {
BODY
};
#undef BODY
主.hpp:
namespace ns {
#define BODY int func();
#include "xmacro.hpp" // inserting foo.hpp inside namespace ns
}