11
我有一個類模板的問題。我想在一個類中的私有數據是某種數字類型的載體的載體,即:C++類模板是一個模板:模板參數無效
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;
}
如圖所示它編譯細,但如果我去掉在主第二行中,我得到的錯誤(克++ 4.6):
error: template argument 1 is invalid
爲什麼我得到這個錯誤?有沒有人有建議修復? 謝謝!
計算不能工作的行中的<
's。有一個失蹤... –這是一個非常糟糕的錯誤消息,完全誤導。 –
@PeteBecker:羞愧。我正在準備挖掘我的[模板rebinder](http://stackoverflow.com/a/11723847/596781)。 –