我试图制作一个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时得出了相同的结果。
答案 0 :(得分:0)
您没有提及T
中gameMap
的内容,但我认为它没有可访问的副本构造函数,因此分配objxy
失败。