"using namespace std" und MFC



  • Hallo,
    hab da ein kleines Problem bei meinen ersten Versuchen mit MFC.

    Habe eine eigene Header geschrieben, und dort möchte ich z.B. folgendes verwenden:

    string datum;
    

    Nun hab ich ganz normal dieses gemacht:

    #include<string>
    using namespace std;
    

    Aber er will nich.
    Beim kompilieren krieg ich über 100 Fehler.
    Es kann auch nur an "using namespace std" liegen, da wenn ich dies weglasse die Fehler nich mehr kommen.
    Dann hab ich aber das Problem das "string datum" nich mehr funzt.

    Hier mal kurz ein Ausschnitt aus dem Debugger:

    :\programme\visual studio\vc98\include\errno.h(29) : error C2598: Bindungsinformationen muessen globalen Gueltigkeitsbereich haben
    d:\programme\visual studio\vc98\include\yvals.h(33) : error C2870: 'std' : Eine Namespace-Definition muss entweder im Dateigueltigkeitsbereich oder unmittelbar in einer anderen Namespace-Definition erscheinen
    d:\programme\visual studio\vc98\include\yvals.h(65) : error C2599: '_Lockit::_Lockit' : Lokale Klassen-Member-Funktionen muessen in der Klasse definiert sein
            d:\programme\visual studio\vc98\include\yvals.h(65) : Siehe Deklaration von '_Lockit::_Lockit'
    d:\programme\visual studio\vc98\include\yvals.h(66) : error C2599: '_Lockit::~_Lockit' : Lokale Klassen-Member-Funktionen muessen in der Klasse definiert sein
            d:\programme\visual studio\vc98\include\yvals.h(66) : Siehe Deklaration von '_Lockit::~_Lockit'
    d:\programme\visual studio\vc98\include\xstddef(26) : error C2870: 'std' : Eine Namespace-Definition muss entweder im Dateigueltigkeitsbereich oder unmittelbar in einer anderen Namespace-Definition erscheinen
    

    Naja und so weiter.

    Gibt es vielleicht auch noch ne möglichkeit das ganze ohne namespace zu realisieren.? Mit einer anderen include Datei.???

    Wäre cool wenn mir jemand helfen könnte.

    Grüße Schwabi



  • versuchs mal mit nem std:: davor. Normalerweise macht der MSVC aber keine problem beim using namespace .

    Benutzt du evtl. wo anders noch nen 2. namespace ?

    Devil



  • Hab ich auch schon probiert, funzt leider auch nich.
    Benutze aber auch nirgenswo anders den namespace.

    Liegt es vielleicht daran das ich das ganze in einer Klasse benutze un das nich funzt???

    Ich schick hier mal eben den Quellcode der Klasse:

    #include <string>
    
    using namespace std;
    
    class Globals
    {
    public:
    
    	int hour;// = newtime->tm_hour;
    	int minute;// = newtime->tm_min;
    	int day;// = newtime->tm_mday;
    	int month;// = newtime->tm_mon+1;
    	int year;// = newtime->tm_year+1900;
    
    	string minute_char;
    	string hour_char;
    	string zeit;
    	string zeit2;
    	string day_char;
    	string month_char;
    	string year_char;
    	string datum;	
    	string datum2;
    
    	void globals_einstellen()
    	{
    		#include "zeit.h"
    
    		hour = newtime->tm_hour;
    		minute = newtime->tm_min;
    		day = newtime->tm_mday;
    		month = newtime->tm_mon+1;
    		year = newtime->tm_year+1900;
    	}
    
    };
    


  • void globals_einstellen()
    {
    #include "zeit.h"
    }

    sowas darfst du ned machen

    schreib das include zeit.h zu deinem include string



  • Habs hingekriegt.
    Thanks.



  • Die ganze Klasse ist Schrott. Wirf sie weg. 😞


Anmelden zum Antworten