Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » using namespace

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
16.08.2007, 08:55 Uhr
~doug
Gast


hallo hab mal ne frage.
hab vc ++ 6.0
aber bei

C++:
using namespace std;



bring er mir einen fehler wieso geht das nicht?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.08.2007, 09:24 Uhr
Bruder Leif
dances with systems
(Operator)


Weil VC 6.0 sich nicht an den Standard haelt. Dort musst Du z.B. statt


C++:
#include <string>



auf


C++:
#include <string.h>



zurueckgreifen, und kannst den std::-Namespace vergessen. Generell ist das mit using... eine schlechte Idee, weil dadurch das Namespace-Konzept ad absurdum gefuehrt wird... lieber jedesmal std:: vor Bezeichner schreiben...
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.08.2007, 09:35 Uhr
~doug
Gast


aber was komisch ist, er bringt mir trotz


C++:
#include <iostream.h>
#include <string.h>




Bearbeitung von Benutzer:

'std' : Keine Klasse oder Namespace
error C2065: 'string' : nichtdeklarierter Bezeichner
error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'wort'



bei


C++:
std::string wort;

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.08.2007, 10:26 Uhr
ao

(Operator)



Zitat von Bruder Leif:
Dort musst Du z.B. statt


C++:
#include <string>



auf


C++:
#include <string.h>



zurueckgreifen, und kannst den std::-Namespace vergessen.


Das stimmt nicht. VC++6 mag veraltet sein, aber *so* mistig ist es auch wieder nicht. ~doug hat wahrscheinlich vor dem using namespace die #include-Anweisungen vergessen, und dann würde sogar euer hochheiliger gcc meckern ...

Das folgende Programm kompiliert und läuft in VC++ 6.0, wenn man in den Project-Settings die Precompiled Headers abschaltet:

C++:
#include <iostream>    // C++-Header laden - diese definieren
#include <string>       // Objekte im Namespace std

using namespace std;    // ab hier können Objekte aus std::
                            // ohne Prefix benutzt werden

int main(int argc, char* argv[])
{
    string s = "Hallo Welt";    // std::string
    cout << s << endl;     // std::cout und std::endl
    return 0;
}




Zitat:
Generell ist das mit using... eine schlechte Idee, weil dadurch das Namespace-Konzept ad absurdum gefuehrt wird...


Ansichtssache. Wenn man es nicht übertreibt ...

ao

Dieser Post wurde am 16.08.2007 um 10:28 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
16.08.2007, 10:45 Uhr
~doug
Gast


klappt!
danke für die gute hilfe!
hab aber vor using... die includes eingebunden, daran lags nicht

aber es hat funktioniert als ich die Precompiled Headers abgeschaltet habe, aber wieso was bedeutet das wenn ich die abschalte??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
16.08.2007, 15:08 Uhr
ao

(Operator)


Precompiled headers - vorkompilierte Header. Die per #include eingebundenen Header-Dateien werden sozusagen einmal vorverdaut und dann für die C- oder C++-Kompilierung wieder hochgewürgt. Das verkürzt die Übersetzungszeit für große Projekte, wenn viele Header und viele C- und C++-Module im Spiel sind.

Abschalten schadet nicht, abgesehen von verlängerter Compilezeit, aber das merkt man nur bei großen Projekten.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: