Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Was ist an dieser Klasee falsch?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
23.01.2004, 19:32 Uhr
Space



Folgende Klasse habe ich unteranderem programmiert:

C++:
class Card
{                                                          //hier irgendwo soll ein
                                                                   // fehler sein????
    private:
        string cardtype;
        int cardnumber;
        
    public:
        Card (string, int);
        Card ();
        setCard(string, int);
        string getString() ;
        int getInt() ;    


};

Card::Card()
{
}


Card::Card(string s, int i)
{
    cardtype=s;
    cardnumber=i;
    
}


Card::setCard(string s, int i)
{
    cardtype=s;
    cardnumber=i;
}

string Card::getString()
{
    return cardtype;
}

int Card::getInt()
{
    return cardnumber;
}



zu der 2. Zeile sagt mir der Compiler:

Kompilierung läuft...
game.cpp
c:\programme\microsoft visual studio\myprojects\versuch4\card.h(2) : error C2143: Syntaxfehler : Fehlendes ';' vor '<class-head>'
c:\programme\microsoft visual studio\myprojects\versuch4\card.h(2) : fatal error C1004: Unerwartetes Dateiende gefunden
Fehler beim Ausführen von cl.exe.

game.obj - 2 Fehler, 0 Warnung(en)


Ich kann keinen Fehler entdecken.
Hat wer ne idee was es sein kann?

Danke!!!!


Bearbeitung von Pablo:

CPP TAGS SELBER BENUTZEN


Dieser Post wurde am 23.01.2004 um 20:14 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.01.2004, 20:16 Uhr
Pablo
Supertux
(Operator)


Ich erkenne keine Fehler, versucher std::string zu benutzen. Wie sehen die Code Zeilen vor Class card?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
23.01.2004, 20:45 Uhr
Space



Davor gibts keine code.


In einer anderen klasse wird von dieser funktionen aufgerufen.

Wie benutze ich std::string?
und wofür?

Sorry bin Anfänger

Danke fürs helfen!!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
23.01.2004, 20:56 Uhr
Pablo
Supertux
(Operator)


string kannst du benutzen, wenn du string includiert hast.

C++:
#include <string>
class Card {
...



string befindet sich im Namespace std, also statt einfach string zu schreiben, schreib std::string.

C++:
#include <iostream>
#include <string>
int main()
{
    string x="Hi";
    std::cout << x << std::endl;
    return 0;
}


kann ich nicht kompilieren, da ich std::string x="Hi"; nicht benutzt habe.


C++:
#include <string>
class Card
{                                                          //hier irgendwo soll ein
                                                                   // fehler sein????
    private:
        std::string cardtype;


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
23.01.2004, 20:59 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


du wirst vermutlich irgendwo anders eine klammer nicht geschlossen haben... muss nicht an der stelle sein wo der kompiler das sagt...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
23.01.2004, 21:05 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Pablo
ich vermute mal nicht das es ein vergessenes std ist... der hat using namespace std bestimmt an einer anderen stelle drin, weiss der geier was der alles includiert...für mich sieht das mehr nach ner klammer zuviel bzw. zu wenig aus..von der fehlermeldung her...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
23.01.2004, 21:10 Uhr
Pablo
Supertux
(Operator)


das dachte ich auch, aber wenn class Card die erste Zeile der Datei card.h ist, dann kann man dann nichts vergessen haben. Außerdem habe ich bei mir getestet, string ohne std:: zu benutzen und bekamm einen ählichen Fehler. Was ich mir nicht erklären kann, ist warum VC++ immer fatal error C1004: Unerwartetes Dateiende gefunden ausgibt. Als ich damit C++ lernen wollte, bekam ich immer diesen Fehler, egal was ich gemacht habe. Und ich weiß nicht warum.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
23.01.2004, 21:15 Uhr
0xdeadbeef
Gott
(Operator)


Der Fehler liegt einfach daran, dass er den Header und den Namespace vergessen hat. Versuchs mal damit am Anfang:

C++:
#include <string>

class Card
{
   private:
        std::string cardtype;


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
23.01.2004, 21:19 Uhr
Space



Also einmal zu Pablo

Nö das war es nicht. Der Compiler macht jetzt ein fenster auf, was ich nicht programmiert hab...

Naja und Windalf hat recht, habe std namespace über meiner main() stehen.

Aber mein Problem ist immer noch nicht gelöst......
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
23.01.2004, 21:22 Uhr
Space



@Oxdeadbeef
Header und Namespace sind aber doch in einer anderen Datei!
Außerdem wenn man es da auch hinschreibt, funktionierts ja auch nicht.

Trotzdem Danke!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: