我在使用模板模板参数时遇到了一些麻烦。这是一个非常简化的示例:
template <typename T>
struct Foo {
T t;
};
template <template <class X> class T>
struct Bar {
T<X> data;
X x;
};
int main()
{
Bar<Foo<int>> a;
}
编译器(g++ (Ubuntu 4.8.2-19ubuntu1) 4.8.2)报如下错误:
main.cpp:8:5: error: ‘X’ was not declared in this scope
T<X> data;
^
main.cpp:8:6: error: template argument 1 is invalid
T<X> data;
^
知道有什么问题吗?