C++ 变量周围的堆栈已损坏

C++ 变量周围的堆栈已损坏,c++,stack,stack-corruption,C++,Stack,Stack Corruption,我知道这个主题有很多问题,但它们似乎都是特定于代码的 我有这个功能- Point2 ITCS4120::operator* (const Matrix3x3& m, const Point2& p) { Point2 result; for(int i=0;i<3;i++) { result[i] = (m[i][0]*p[0]) + (m[i][1]*p[1]) + (m[i][2]); } return result; //

我知道这个主题有很多问题,但它们似乎都是特定于代码的

我有这个功能-

Point2 ITCS4120::operator* (const Matrix3x3& m, const Point2& p) {
   Point2 result;
   for(int i=0;i<3;i++) {
       result[i] = (m[i][0]*p[0]) + (m[i][1]*p[1]) + (m[i][2]);
       }
   return result; //error here
   }
点2的数组是

float array [2];
Matrix3x3和Point2类都有以下代码-

/** Write access for element in row [i] */
inline Scalar* operator[](int i) {return array[i];}
/** Read access for element in row [i] */
inline const Scalar* operator[](int i)const {return array[i];}

这段代码是给我的,我以前做过一些关于点、矩阵和向量的算术作业。我的代码通过了所有测试,因此我假设我的Point2 ITCS4120::operator*(常量Matrix3x3&m,常量Point2&p)代码是正确的。但是也许我需要使用不同的[]运算符?

您的点似乎包含两个
浮点
s,但您正在写入三个。

谢谢!我想我还需要一双眼睛。
/** Write access for element in row [i] */
inline Scalar* operator[](int i) {return array[i];}
/** Read access for element in row [i] */
inline const Scalar* operator[](int i)const {return array[i];}