与std传染媒介的模板矩阵

时间:2017-03-29 00:30:50

标签: c++ templates vector accessor

我试图制作一个2D矩阵模板类unsing std向量。到目前为止,大多数功能都可以解决问题。但是当我尝试编写访问器或getter和setter函数时,我遇到了一些问题。 首先是我班级的基本布局:

template <class T>
class DynamicMatrix
{
private:
    vector<vector<T>> map;
...
}

我的第一次尝试是访问者功能:

template <class T>
T& DynamicMatrix<T>::at(size_t x, size_t y)
{
    return(map.at(x).at(y));
}
template <class T>
const T& DynamicMatrix<T>::at(size_t x, size_t y) const
{
    return(map.at(x).at(y));
}

但是当我尝试调用gameMap.at(x,y)= objxy时;编译器说它是一个已删除的函数。

所以我尝试了getter和setter,并在尝试分配Value时得出了相同的结果。

1 个答案:

答案 0 :(得分:0)

您没有提及TgameMap的内容,但我认为它没有可访问的副本构造函数,因此分配objxy失败。