2009-11-23 2 views

답변

3

중간 참조 ('*')는 '.'보다 우선 순위가 낮습니다. 운영자, 그래서이 라인 :

cout<<**it.ns_member1<<endl; 

이처럼 작동 :

cout << (**(it.ns_member1)) <<endl; // ERROR 

내가 이런 식으로 일을 제안 :

cout << (*it)->ns_member1 << endl; 

참조 연산자를 사용하는 정말 필요가 없습니다 두 번, '->'연산자가 뒤따라 오면 똑같은 일을 할 것이며 대부분의 사람들에게 더 명확하게 읽혀 져야합니다.

HTH.

3

시도 (**it).ns_member1.

그렇지 않으면 it.ns_member1을 평가하려고 시도한 후 역 참조가 수행됩니다. 그것은 3*(1+2)3*1+2과 같습니다.