size mismatch
-
hallo noch mal, ich habe volgendes problemm
ahbe die funktionen. . . else { --Current; wcout << Wall; wcout << setfill(Air) << setw( MaxRoomSize - Current); cout << PrintAnimal;//Fehler wcout << setfill(Air) << setw(Current); wcout << Wall; } break; . . .
Das problemm ist bei cout << PrintAnimal;
wobei printAnimal das istostream& Cartoon::PrintAnimal(ostream & out) { //dhlosh MEtablhton //Kurio Programm return out.write(this->Animal,this->GetSizeAnimal()); }
ich bekomme diesen fehler
warning C4761: integral size mismatch in argument; conversion suppliedBei sisual studio 6.0. Nun mein vorschlag were cast, aber warum??? es sollte doch funktionieren auch ohne cast, kann mir einer weiterhelefen, und cast auf was auf char? ist doch char!.
Ach da wo ich schreibe this->Animal ist ein zeiger auf ein string(char *Animal)
Noch eins, wie kann ein mänsch so ein schwiergies I/O programmieren jesus maria UND JOSEF DAZU!!!!.
-
Nun, was du machst ist eine Adresse auszugeben, nämlich die von PrintAnimal. Und ich glaube nicht, dass du das willst. nochmals zur Verdeutlichung:
x = meine_funktion; // x enthaelt nun die Adresse an der die Funktion meine_funktion beginnt x = meine_funktion(); // meine_funktion wird aufgerufen und x enthaelt danach deren Rueckgabewert
Wenn du den << Operator für Streams überladen willst, um einen eigenen Typ auszugeben, macht man das anders.
// global ueberladen ostream& operator <<(ostream& lhs, const PrintAnimal& rhs) { // was immer du ausgeben willst ... return lhs; }