Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » String Header .Net Problem?

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 <
000
19.06.2006, 10:38 Uhr
~rolirevolvermann
Gast


Also ich habe folgende Quelldateien:



C++:
#include<iostream>
#include<list>
#include<string>
#include "class.h"


using namespace std;




int main(){

    //Variablen
    //
    list<CCD*>Cds;
    list<CCD*>::iterator i;
    CCD* Temp=NULL;
    char input='0';
    int Anzahl=0;
    

    cout<<"Willkommen bei CD-Archivi! Dem supertollen CD Archivierunsprogramm"<<endl<<endl;

    while(input!='e')
    {
        cout<<"Was möchte man tun?"<<endl;
        cout<<"1)    Neue Cd einlesen"<<endl;
        cout<<"2)    CD Liste ausgeben"<<endl;
        cout<<"e)    Programm beenden"<<endl;
        cin>>input;

        if (input=='1')
        {

            //Größe des Arrays abfragen
            //
            cout<<"Wieviele Cd s sollen eingelesen werden? ";
            cin>>Anzahl;
            

            //Liste füllen
            //
            for(int j=0;j<Anzahl;j++)
            {
                Temp=new CCD;
                Temp->einlesen();
                Cds.push_back(Temp);
                
            }
        }


         if (input=='2')
            {

            //List ausgeben
            //
            for(i=Cds.begin();i!=Cds.end();i++)
            {
                (*i)->ausgeben();
                
            }
            }
            
            //Liste löschen
            //
            
            
        

    }
    for(i=Cds.begin();i!=Cds.end();i++)
            {
                delete(*i);
                (*i)=NULL;
                
            }
            Cds.clear();
    
    system("PAUSE");
    return 0;
}




C++:
class CCD
{

private:
    string SInterpret ;
    string SAlbum;
    bool bSchonInListe;

public:
    void einlesen();
    void ausgeben();
    
};




C++:
#include<iostream>
#include<list>
#include<string>
#include "class.h"


using namespace std;



void CCD::einlesen()
{
    cout<<"Bitte Interpreten eingeben: ";
    cin>>SInterpret;
    cout<<"Bitte Albumtitel eingeben: ";
    cin>>SAlbum;
    cout<<endl;
}

void CCD::ausgeben(){
    cout<<SInterpret<<"\t"<<SAlbum<<endl;
}


Mein roblem ist nun, dass wenn ich das Programm ohne Header Datei laufen lasse es keine Probleme gibt, nur wenn ich das Programm in die 3 Dateién aufteile meckert er.

kann mir jemand vielleicht helfen?

Vielen Dank im Voraus!

Viele Grüße

Roland
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.06.2006, 13:38 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Wäre gut wenn du uns sagst wie genau die Fehlermeldungen lauten



PS: Oder wie das Thema zur Überschrift passt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.06.2006, 13:55 Uhr
~rolirevolvermann
Gast


Also die Fehlermeldungen sind 19 Stück und beziehen sich alle auf die String Variablen
SInterpret und SAlbum.Z.b seien die Typbezeichner dieser Variablen ungültig(in der Klasse)
in der cdsammlung.cpp sind diese Variablen unbekannt und konnten auch durch eine argumentbezogene Suche nicht gefunden werden...

Wenn ich die Memberfunktionen aber in die Klassen Datei reinkopiere funktioniert es auch.

Sitz irgendwie aufm Schlauch:-)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.06.2006, 21:56 Uhr
~rolirevolvermann
Gast


Ich bins nochmal:-)

Also wenn ich bei der Klasse srüber schreib

using namespace std;

dann funktioniert das programm und der Compiler meckert auch nix.

Ich verstehs nur nicht: Die Klasse verwendet doch nix ausergewöhniches oder?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
20.06.2006, 22:56 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


using nie in headern verwenden, und wenn dann wirklich nur in der klassendefinition:


C++:
class Foo
{
  using namespace xyz;
  //...
};




ansonsten:

string ist std::string, durchs fehlende using namespace std weiß er natürlich nicht was fürn string du meinst in der klasse. Schreib bei den 2 Membervariablen dein std:: davor, und gut ist, oder eben using in die klasse reinschreiben, niemals global im header!
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


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: