C ++ Iterieren durch einen Vektor von intelligenten Zeigern

7

Ich habe eine Klasse mit dieser Funktion:

%Vor%

Der Compiler sagt mir, dass die Klasse boost :: shared_ptr hat kein Mitglied namens 'RenderShape', was ich seit der Klasse PrimShapeBase hat sicherlich diese Funktion, ist aber in einer anderen Header-Datei. Was ist die Ursache dafür?

    
starhacker 14.08.2012, 20:58
quelle

2 Antworten

16

Meinst du nicht

? %Vor%

?

i ist der Iterator, *i ist das shared_ptr , (*i)::operator->() ist das Objekt.

    
Luchian Grigore 14.08.2012, 20:59
quelle
5

Das liegt daran, dass i ein Iterator ist. Dereferenzieren Sie es einmal gibt Ihnen den Smart Pointer, Sie müssen es doppelt dereferenzieren.

%Vor%

oder

%Vor%     
Wug 14.08.2012 21:00
quelle

Tags und Links