Moin!
Ich habe ein problem mit einem cast-Operator in einer Template-Klasse.
Konkret habe ich eine Iteratorklasse mit einen Template-Parameter auf
was für einen Typ von Objekten der Iterator zeigt. Nun hab ich einen
cast-operator geschrieben, der den Iterator in einen normalen Zeiger auf
das aktuelle Element umwandelt.
1 | template <typename T>
|
2 | Iterator<T>::operator T*() const
|
Wenn ich aber nun den Iterator benutze, sagt der Compiler, dass kein
Operator gefunden wurde, der diese Umwandlung ausführen könnte.
1 | Iterator<Xyz> i(...);
|
2 |
|
3 | Xyz* e = i; //geht nicht
|
4 | Xyz* e = (Xyz*) i; //ist genau das selbe
|
Hat jemand ne Idee, woran das liegt und wie man das lösen kann?
Vielen Dank!
Klaus