2013-08-10 6 views
1
전 C++에서 벡터를 사용하고

, 반복자 역 참조

vector<Agents> agentlist; 

않는 이유는이 작품,

(agentlist.begin())->print(); 

이되지?

*(agentlist.begin()).print(); 

*을 사용하여 반복기를 참조 해제하는 것이 타당하지 않습니까? 반복자는 더 .print() 함수 호출이없는 동안

*((agentlist.begin()).print()); 

는, 컴파일러는 컴파일 에러를 발생합니다 :

+0

를 사용하여()'. –

답변

2

operator Precedence.*

*(agentlist.begin()).print(); 

과 같이 표현보다 더 높은 우선 순위를 가지고 참조하십시오.

당신이 필요합니다

agentlist.begin()->print(); or (*agentlist.begin()).print(); 
2

보십시오 당신은 agentlist.begin`주위에 괄호가 필요하지 않습니다 (*(agentlist.begin())).print(); :