> Was kann ich da tun?
Angeben, ob du das als C oder als C++ übersetzt, und die Zeilen, auf die
sich die Fehlermeldungen beziehen, markieren. Eine Zeile 23 und eine
Zeile 30 gibt es in deinem Code nicht.
Ich nehme mal an, daß es als C++ übersetzt wird und eine der
Fehlermeldungen sich auf diese Zeile bezieht:
1 | PTData ptrdata = (void*)0;
|
Zur anderen Fehlermeldung finde ich keine passende Zeile.
In C++ kann man einen void* nicht implizit in einen anderen Zeiger
konvertieren. Warum castest du überhaupt die 0? Ohne den Cast sollte das
gehen.
Übrigens: Du solltest dir abgewöhnen, Zeiger hinter irgendwelchen
typedef-Namen zu verstecken. Also statt PTData lieber ein TData*. Da
sieht man auf den ersten Blick, daß es ein Zeiger ist.