2014-01-14 3 views
0

내가 값에 액세스하기 위해 노력하고있어 및 키 게터와지도 컨테이너를 구현). 유일한 방법은 그것을 작동하게하려면 다음을 수행하는 것입니다 : 내가 CONST 및 없음 const를 게터 노드로도 * 운영자 반환 기준을 모두 가지고*이 반복자를 사용하여 반복자

Node<K, V>& node = *it; 
V& value = node.getValue(); 

.

편집 :
내지도 코드를 구현하고 있습니다.

편집이 내가 그것을 알아 냈어, 내 * 연산자는 포인터를 반환하고 있었고, 난 그것을 &을 반환 생각했다. 유형 std::pair<const K, V>의지도 유형이 std::map, 또는 표준 연관 컨테이너 인터페이스에 부합 유사한 경우, 그것은 포함 된 모든

+0

어떤 오류가 발생합니까? BTW는 K 및 V 템플릿 매개 변수입니까? – juanchopanza

+0

'std :: map'을 사용하지 않고 다른 컨테이너를 사용하고있는 것처럼 보입니다. 반복자 컨테이너의 모양을 보여주기 위해 몇 가지 코드를 게시해야합니다. – Sean

+0

'지도 '란 무엇입니까? 'std :: map'의 별칭인가, 아니면 비표준적인 것입니까? –

답변

0

당신에게 키 - 값 쌍을 감사하고 당신이 반복자를 역 참조하면 언제 무엇을 얻을 .

값에 액세스하려면, 당신은 두 번째 쌍의 요소가 필요합니다

V & value = it->second; 

지도 유형은 표준 인터페이스에 부합하지 않는 경우에, 당신은 설명서의 내용을보고해야합니다을; 나는 그것이 어떻게 작동하는지 짐작할 수 없다.

+0

내 자신의지도, 노력 덕분에 – Emad

+0

@ Emad4U : 그 경우에는 정확한 오류 메시지를 게시하는 것이 좋습니다, 그리고 (최소)'iterator'와' Node'는'operator *'와'getValue'의 선언을 보여줍니다. 우리가 그것을 볼 수 없다면 당신 자신의 코드에 무엇이 잘못 될지 추측하는 것은 불가능합니다. –