c++ - C++ 类模板是一个模板: 模板参数无效

  显示原文与译文双语对照的内容
0 0

我有意见的是一个类模板。 我想在类中的私有数据为一个向量的向量的某种数值类型,我.e:

std::vector<std::vector<double> >
std::vector<std::vector<std::complex<double> > >

但我想要矢量的类型( 我使用的第三方库以及stl向量向量) 和元素类型为模板化。 我试着模板的模板你但是我不认为那是对我的问题的解决方法。 一个高度简化的示例如下:

#include <complex>
#include <vector>
template<typename T>
class Fred {
    std::vector<T> data_;
};
int main(){
    Fred<std::vector<double> > works;
    //Fred<std::vector<std::complex<double> > doesnt_work;
    return 0;
}

如main中可以编译没问题,但是如果我注释掉第二行时,出现以下错误( G++ 4 。6 ) :

error: template argument 1 is invalid

为什么会出现这个错误? 你们谁有建议的修复呢? 谢谢 !

时间:原作者:4个回答

0 0
#include <complex>
#include <vector>
template<typename T>
class Fred {
    std::vector<T> data_;
};
int main(){
    //Fred<std::vector<double> > works;
    Fred<std::vector<std::complex<double> > > doesnt_work;
    return 0;
}

不错的效果。 你想第三 >中的声明 doesnt_work.

原作者:
...