专门用于命名空间的模板

BCS*_*BCS 5 c++ templates namespaces

鉴于:

namespace A {
  class Foo;
  class Bar;
}

namespace B {
  class Foo;
  class Bar;
}
Run Code Online (Sandbox Code Playgroud)

我想在命名空间A或B上模拟一个类,以便以下工作:

template<name> class C {
  name::Foo* foo;
  name::Bar* bar;
}
Run Code Online (Sandbox Code Playgroud)

这可以直接完成还是我需要创建一对带有typedef的结构类型?

Mar*_*k B 4

您不能在命名空间上进行模板化。如果您能够使用类(最有可能具有公共属性/静态方法),那么您可以在该类上进行模板化作为半解决方法。