Index Operator überladen
-
Mahlzeit,
ich habe das Problem das meine Index Operator, welchen ich überladen habe nicht aufgerufen wird.
Mein überladener Operator sieht wie folgt aus:
template<typename T> T &List<T>::operator[](size_t index) { Item<T> temp = data; for(int i = 0; i <= index; i++){ temp = temp.next; } return temp; }
aufrufen tue ich diesen wie folgt
List<Device> *devices = new List<Device>(); devices->add(*dev1); devices->add(*dev2); cout << "Name: " << devices[0].getName() << endl;
Gruß swoopo
-
-
@swoopo sagte in Index Operator überladen:
devices[0]
ruft den Operator [] des Zeigers auf Liste auf, nicht den der Liste.
-
@Swordfish ups, ist mir reingerutscht... das gehört natürlich nicht dahin.
-
@swoopo sagte in Index Operator überladen:
@Swordfish ups, ist mir reingerutscht... das gehört natürlich nicht dahin.
Das meinte ich nicht. Ich bezog mich auf das zweite
new
. Warum überhauptnew
?@manni66 sagte in Index Operator überladen:
ruft den Operator [] des Zeigers auf Liste auf, nicht den der Liste.
Das.