如何在宏中获取当前命名空间的字符串

Yol*_*ola 2 c++ macros namespaces c-preprocessor

我需要在宏中放置命名空间前缀。IE

#define MYMACRO(x) ....##x

namespace A {
  namespace B {
    MYMACRO(C);
  }
}
Run Code Online (Sandbox Code Playgroud)

和 MYMACRO 必须返回 - A::B::C?

MSa*_*ers 5

不能工作。命名空间由编译器识别,编译器仅在预处理器之后运行。