2
이 주제는 많은 질문을 가지고 있지만 모두 코드에 고유 한 것처럼 보입니다.변수 주위의 스택이 손상되었습니다
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
}
그것은 말 return 문에 나에게 오류를 제공 -
나는이 기능이 "확인 실패 # 2 런타임 -. 변수 '결과'주위에 스택이 손상되었다"
그 기능에 문제가없는 것 같습니다.
/** 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];}
이 코드는 저와 I에게 주어진 - 모두 Matrix3x3 및 POINT2 클래스가이 코드를
float array[3][3];
과 POINT2의 배열은
float array [2];
경우 - Matrix3x3의 배열은 그냥 matricis 및 벡터를 사용하여 산술을 수행하는 이전 숙제가있었습니다. 내 코드는 모든 테스트를 통과 했으므로 Point2 ITCS4120 :: operator * (const Matrix3x3 &m, const Point2 &p) 코드가 올바른 것으로 가정합니다. 하지만 [] 연산자를 다르게 사용해야 할 수도 있습니다.
고마워요! 맞춰서 또 다른 쌍의 눈이 필요하다고 생각해. – Sterling