给出以下代码: void f() { class A { template <typename T> void g() {} }; } g ++ 4.4(还有g++-4.6 -std=gnu++0x )抱怨:“本地类中成员模板声明无效”。 显然本地类不允许有模板成员。 这个限制的目的是什么? 它会被删除在C ++ 0x? 注意:如果我将本地类本身作为模板,而不是给它一个模板成员: void f() { template <typename T> class A { void g() {} }; } 我得到“错误:模块声明不能出现在块作用域”。