Casting?!
-
Hi Leute ich hab seit neuestem ein Problem und zwar gehts dabei ums Casten. Ich arbeite mit einem Buch. Daraus habe ich folgendes erarbeitet (nur das wichtigste):
bool firststart = true; int main() { ofstream output("\\game.adv",ios::binary); output.write((char)* &firststart, sizeof(firststart)); output.close(); }Das Problem ist hier, dass er folgende Meldung ausgibt:
.\test.cpp(19) : error C2664: 'std::basic_ostream<_Elem,_Traits>::write': Konvertierung des Parameters 1 von 'char' in 'const char *' nicht möglich
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder FunktionsformatIch weis nicht was ich dagegen machen soll, weil ich es so im Buch wiederfinde (nur dass die variable ein integer ist.)
hofe auf hilfe^^
**
Ich glaube ich habs gelöst:output.write(reinterpret_cast<char*> (&firststart), sizeof(firststart));ist es so richtig?**
-
troll 
-
probier es doch selber aus troll
TROLL ALERT 
-
Es kann ja auch sein, dass es unsichtbare Fehler macht. ist mir selbst schon mal passiert. Und bitte nicht sone dummen Antworten!

-
Hast du dir die Fehlermeldung durchgelesen?
Fehlermeldung schrieb:
Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
-
Ja sry, aber das wird im Buch nicht beschrieben und ich bin Anfänger.
Das war nur ausm Instinkt heraus. Und es funktioniert auch so.
-
Ist doch nur ein Tippfehler. "(char)* &blubb" macht keinen Sinn, es sollte wohl eher "(char*) &blubb" heissen! f'`8k
AutocogitoGruß, TGGC (making great games since 1992)