myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   C2446 Fehler (https://mygully.com/showthread.php?t=2721715)

unleashed656 07.10.12 22:53

C2446 Fehler
 
Hi leute
ich lese zurzeit das buch "c++ für spieleprogrammierer" um mir C++
beizubringen. Es scheint so als würde das buch ein bischen mit den aktuellen "microsoft visual studio" compiler anecken.

So ist der Quelltext wie er im buch steht:

Code:

#include "stdafx.h"
#include "iostream"

using namespace std;



int main ()
{
        //Variablen
        int spieleranzahl;
        char ch_auswahl;

        //Anzahl der Mitspieler abfragen
        cout << "Wie viele mitspieler:";
        cin >> spieleranzahl;

        //falsche eingabe
        if (spieleranzahl == 0)
        {
                cout << "falsche eingabe" << endl;
        }
        //singelplayer?
        else if (spieleranzahl == 1)
        {
                cout << "Du spielst gegen den PC" << endl;
        }
        //multiplayer?
        else
        {
                cout << "multiplayer spiel\n\n";
                cout << "j oder t";
                cin >> ch_auswahl;

                //jeder gegen jeden
                if (ch_auswahl == "j")
                {
                        cout << "Jeder gegen Jeden!" << endl;
                }
                //temaspiel
                else if (ch_auswahl == "t")
                {
                        cout << "Teamspiel" << endl;
                }
                //falsche eingabe?
                else
                {
                        cout << "Falsche eingbae" << endl;
                }
        }
        cin.get();
        cin.get();
        return 0;
}

Lediglich das "cin.get" stammt von mir, damit die konsole nicht verschwindet.
So nun zu meinem problem.
ich bekomme immer den fehler
" error C2446: '==': Keine Konvertierung von 'const char *' in 'int' "
so weit ich das verstanden habe kann er die konstate "char" nicht in einen Integer ändern, aber "ch_auswahl" ist doch gar keine konstante?? Müsste man diese Casten??
Was muss ich ändern und warum scheint das buch etwas out of date zu sein.

NetWebs 07.10.12 23:25

Lies mal bitte die Forenregeln!

unleashed656 07.10.12 23:32

Ja habe ich gemacht...ist doch alles legitim oder wo ist das problem??

urga 08.10.12 00:08

Code:

if (ch_auswahl == "j")
-->
Code:

if (ch_auswahl == 'j')
"j" ist ein const char *
'j' ist ein int bzw. char
und ch_auswahl hast du ja als char deklariert ...

unleashed656 08.10.12 10:52

aaaahhhhh...wenn man nicht darauf hinweist braucht man dafür aber auch einen sehtest :D
danke...jetzt kann ich endlich weiter machen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:45 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.