作为一个练习,我必须将一个operator [] []压缩到一个矩阵类。编译器会产生问题,甚至不让我开始。有没有人有任何iddea为什么?
template <class Type>
Type Matrix<Type>::operator[][](int i, int j)
{
return getElement(i, j);
}
该方法需要返回矩阵中[place] [col]的位置。 感谢
答案 0 :(得分:0)
C ++中没有void DoSomething()
{
HttpWebResponse myHttpWebResponse = (HttpWebResponse)CreateRequest().GetResponse();
Response.Clear();
Stream receiveStream = myHttpWebResponse.GetResponseStream();
Response.ContentType = "image/jpeg";
}
。实现目标的最简单方法是使用operator[][]
:
operator()
如果您想让自己的生活更加艰难,可以通过重载template <class Type>
Type Matrix<Type>::operator()(int i, int j)
{
return getElement(i, j);
}
来使用解决方法,以便它返回也重载operator[]
的代理对象。对于来电者,受链接的operator[]
来电会像operator[]
一样有效。
答案 1 :(得分:0)
正如另一个答案建议你可以用一个函数来做,但如果你真的想这样做,你需要从矩阵的operator []返回一个对象,然后这个对象将需要一个operator []返回类型。例如:
template <class Type>
class Matrix {
public:
class Row{
public:
Type operator[](int col) {
}
};
Row operator[](int row) {
}
};
...
Matrix<int> m;
m[1][2];