Qt 5: const char * QString cast

In Qt-4 ist es möglich, automatisch warf einen QString zu einem "const char *", z.B. konnte ich-pass ein QString auf eine Funktion, die erwartet, dass ein "const char *".

void myFunction(const char *parameter);

QString myString;
myFunction(myString); //works in QT4

In Qt-5 würde ich allerdings ein "error C2440: 'type cast' : cannot convert from 'QString' in 'const char *'" (das ist die Visual C++ 2008 compiler, der andere Compiler werfen würde etwas ähnliches). Verstehe ich die Dokumentation richtig, es ist, weil die Qt 3 compatibility layer nicht mehr mit einbezogen in QT5.

Natürlich, ich könnte ändern Sie den Funktionsaufruf von

myFunction(myString); 

zu

myFunction(myString.toLatin1().data());

Allerdings habe ich eine riesige Codebasis, die kompiliert einwandfrei mit Qt 4 und ich würde gerne meinen alten code kompiliert mit Qt 5 ohne es zu ändern. Gibt es eine Möglichkeit, dies zu erreichen?

InformationsquelleAutor user3640262 | 2014-05-15
Schreibe einen Kommentar