-9
반복기를 처음 사용하는데 문제가 있습니다. 이로써벡터 반복기를 사용하여 객체에 액세스하려고 시도했습니다.
vector<MyClass*> MyVector;
MyVector.push_back(new object);
MyVector.push_back(new object);
MyVector.push_back(new object);
vector<MyClass*>::iterator temp;
temp = MyVector.end(); //because I want to use a function for the last one
Sum += temp->get_num(); //function that returns an object member
내가 점점 개체 내부에 저장되어있는 몇 가지 숫자를 합산 달성하고자 :
이
내가 벡터를 생성하고 객체에 몇 가지 포인터를 밀어 코드의 일부이다. 그러나 그것은 컴파일되지 않을 것 같습니다.오류는 다음과 같습니다.
27 ~ 240 \ Test.cpp에 [오류] 부재 'get_num'요청 '* 온도 .__ gnu_cxx :: __ normal_iterator < _Iterator, _Container> :: 운용자>>(), 포인터 인 'MyClass *'를 입력하십시오. (아마도 '->'를 사용 하시겠습니까?)
일부 책 또는 자습서를 읽어보십시오. – Yves
당신은'MyVector.back()'을 찾고 있습니다. 'end()'는 one-past-the-end iterator이고, dereferencing은 UB를 트리거한다. – Quentin
'(* temp) -> get_num()'. –