첫째, 나는 영어를 잘하지 못하고 StackOverflow에서도 처음이지만 내 코드의 문제에 대해 설명하려고 노력합니다.
내 교수로부터 내 자신의 Vector (유사한 것)를 만들어 달라는 요청을 받았는데, 벡터 컨테이너의 요청 된 위치에있는 요소에 대한 참조를 반환하는 함수에 문제가 있습니다. 요청 된 위치가 범위를 벗어나면 일부 메시지를 출력하고 프로그램을 종료해야합니다.
나는 이것을 연산자 오버로딩으로 만들어야하며 이것이 내 코드입니다.
double operator [](int n, const MyDoubleVector& _mV)//The arror come out at this line.
{
if(n > num)//'num' is private reference in class to count array. it typed int.
{
return 0;
}
return &_mV.data[n];//'data' is private reference in class. It declare like 'double *data = new double [num];'
}
가끔 '친구'가이 문제를 해결하는 것을 보았지만이 줄에 '친구'를 넣으면 "연산자 []는 멤버 함수 여야합니다."라는 메시지가 표시됩니다. 마지막으로 어떻게해야할지 모르겠습니다. 제발 도와 주 시겠어요?
operator []의 오버로드를 MyDoubleVector 클래스의 멤버 함수로 구현해야합니다. 정의는 다음과 같습니다.
double & MyDoubleVector::operator[](int index);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다