클래스 v에 두 배의 배열을 동적으로 할당합니다. 항목은이 배열의 시작 부분을 가리키는 포인터입니다. , 간격이 3서브 스크립 션 연산자에서 임시 변수 사용 방지
double& v::operator[] (const int n) {
return entries[n*spacing];
}
이 첨자 연산자는 컴파일하지만 힙 손상이 발생 될 간격이 난 단지 고려 모든 세 번째 항목에 원하는 경우 나, 예를 들어, 항목을 건너 뛸 수 있습니다. 내 웹 검색을 기반으로 Visual Studio에서 "항목 [n * spacing]"결과를 임시로 저장 한 다음 임시 참조를 반환한다고 생각합니다. 할당 해제 된 메모리에 대한이 참조에 쓸 때 힙 손상이 발생합니다.
해결 방법에 대한 아이디어가 있습니까?
추가 조사 결과 항목이 유효하지 않음이 나타났습니다. 감사합니다. K-ballo. – Kire321