Ich arbeite in einer Uni und ich muss eine C-Library nutzen die ein Student früher gemacht hat. Der Student hat es in "C" programmiert.
ich muss diese Library in eine C++ Programm nutzen aber wenn ich versuche sie zu kompilieren bekome solche errors:
error: invalid conversion from 'void*' to 'ptTRI*' error: invalid conversion from 'void*' to 'unsigned char*' error: pointer of type 'void *' used in arithmetic ...
also ich habe viele von diese errors.
ich kann entweder, alle "castings" wieder machen oder ein FLAG in der C++ Kompiler nutzen.
Kennst jemand dieser FLAG? Gibt es noch eine mögliche Löschung??
Hmmm...und eventuell gcc mit -fpermissive benutzen. void* in Pointerarithmetik zu benutzen ist meines Wissens auch in C nicht legal (weil void kein vollständiger Typ ist). Hoffentlich verlässt der sich da nicht auf undefiniertes Verhalten, das zufällig mit seinem Compiler damals lief... -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra
Die "invalid conversion"-Fehlermeldung wirst du wegcasten müssen. Diese Konvertierungen sind in C in Ordnung, in C++ aber Fehler. Das mit der Pointer-Arithmetik ist in der Tat seltsam. Zeig mal die Codestelle, die dazugehört.