【发布时间】:2018-03-17 14:32:28
【问题描述】:
我想我只是缺少一些小东西。我想将模板类的构造函数专门用于其中 T = 具有任何参数的模板类的实现。对不起,如果我的词汇有点不对劲。
基本上,我需要允许锯齿状的二维数组,所以我可能有一个ArEl<ArEl<int>>,我想预初始化所有数组长度。
using namespace std;
template <typename T>
class ArEl {
public:
ArEl(size_t size = 0)
: rSize(size), rArray(rSize ? new T[rSize]() : nullptr) {}
ArEl(const ArEl& other);
virtual ~ArEl() { delete[] rArray; }
void swap(ArEl& first, ArEl& second);
void redim(size_t size);
private:
std::size_t rSize;
T* rArray;
};
template <typename T, typename T1>
class ArEl<ArEl<T>> : public ArEl<T1>{
ArEl(size_t size = 0);
};
编辑:
我收到此错误:
error: template parameters not deducible in partial specialization:
class ArEl<ArEl<T>> : public ArEl<T1>{
【问题讨论】:
标签: c++ class templates inheritance constructor