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];}