问题遇到的现象和发生背景
我在实现一个矩阵类时,想要实现用一个矩阵构造另一个矩阵时出现了报错 invalid constructor; you probably meant 'cube<n, m> (const cube<n, m>&)'
问题相关代码,请勿粘贴截图
template <int n> struct line
{
int lne[n + 1];
int& operator [] (int k)
{
return lne[k];
}
};
template <int n, int m> class cube
{
private:
line<n> hng[m + 1];
public:
cube(int x)
{
fill(x);
}
cube(cube x)
{
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= m; ++j)
hng[i][j] = x[i][j];
}
line<n>& operator [] (int k)
{
return hng[k];
}
void fill(int x)
{
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= m; ++j)
hng[i][j] = x;
}
};
运行结果及报错内容
invalid constructor; you probably meant 'cube<n, m> (const cube<n, m>&)'
请问为什么会出现这个报错以及如何解决,请求赐教,感谢!