名前空間をテンプレートパラメータにすることはできないことを理解しています。「名前空間に特化したテンプレート」という質問を参照してください。
与えられた:
namespace A { class Foo; class Bar; } namespace B { class Foo; class Bar; }
A
名前空間または次のようにクラスをテンプレート化したいB
:template<name> class C { name::Foo* foo; name::Bar* bar; };
なぜそうなのかと思っていました。テンプレートは構造体ではないことは理解していますが、コンパイラーの設計に技術的な制限はありますか?または、この機能を実装するための重要なトレードオフがありますか?