GCC 似乎不同意使用本地类实例化模板:
template <typename T>
void f(T);
void g()
{
struct s {};
f(s()); // error: no matching function for call to 'f(g()::s)'
}
VC 没有提示。
应该怎么做?
最佳答案
在 C++03 中这是不可能的,但是 C++0x 将 lift 限制。
C++03,第 14.3.1/2 节:
关于c++ - 如何在模板中使用本地类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3172909/