Verdächtige Zeigerumwandlung
-
Hallo
Borland C++ Builder 6 bringt mir bei diesem Code, die Warnung "Verdächtige Zeigerumwandlung".
std::string getString() { char buf[10]; return buf; }
Ist der Verdacht hier berechtigt oder ist der Code okay?
-
Verdächtig in dem Sinne, dass die Funktion einen std::string zurückgeben soll und du einen char* zurückgibst. Wenn du das für sinnvoll hältst, kannst du ja nen expliziten Typecast einbauen um die Warnung zu killen.
-
Der Code ist schon alleine nicht okay weil du einen Pointer auf eine auto-Variable zurück gibst.
-
lol, des kommt ja auch noch hinzu.
-
er gibt einen string zurück. was ist daran nicht ok? oder überseh ich was?
-
Er gibt doch einen Zeiger auf eine lokale (nichtstatische) Variable zurück.
-
return string(buf); mit einer funktion std::string foo()
da gibt er imho keinen zeiger zurück...
-
Stimmt, man sollte auch auf den Rückgabetyp achten.