Re: Probleme mit Header-Files
Gesendet von Thomas Reisinger
am 05.02.2003 09:04:04 Betreff: Probleme mit Header-Files Liebe Newsgroup,
ich programmiere gerade unter SuSE 8.1 mit dem GNU C-Compiler Version 3.05 und habe Probleme mit den Header-Files. Ich möchte die die Funktionen zur ein- und Ausgabe mit Streams verwenden. Zur besseren Erklärung habe ich folgendes Stück Code angegeben:
// Version 1 - Alte C++ Konvention #include
// Version 2 - Neue Konvention #include <iostream>
int main () { cout << "Hello world!" << endl; }
Versuche es mal mit : #include <iostream> using namespace std; main() { cout << "Hello\n"; }
Compilire ich das Programm in Version 1 bekomme ich den Hinweis, dass bei der neuen Namenskonvention für Header-Files das h weggelassen werden sollte. Ändere ich dann das File in Version 2, was ja der besagten Namensänderung entspricht, ist die Funktio "cout" dem Compiler gänzlich unbekannt. Woran liegt das?
Viele Grüße, Thomas
-- Thomas Reisinger mailto: t.reisinger@tu-bs.de
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-programming-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-programming-help@suse.com
Hi, On Wed, 5 Feb 2003 bb@kisters.de wrote:
// Version 2 - Neue Konvention #include <iostream>
int main () { cout << "Hello world!" << endl; }
Versuche es mal mit : #include <iostream> using namespace std; main() { cout << "Hello\n"; }
Also using namespace std; ist der Holzhammer. Da es hier nur eine paar Zeilen sind, sollte man std explizit verwenden: #include <iostream> int main () { std::cout << "Hello" << std::endl; } Ciao, Micha.
Michael Matz
Da es hier nur eine paar Zeilen sind, sollte man std explizit verwenden:
Das sollte man IMO fast immer tun ;-), zumindest wenn man wirklich sauber mit namespaces umgehen will und keine Rücksicht auf Compiler nehmen muss, die sich in Sachen Konformität zu ISO C++ eher zurück halten. Auf jeden fall hat ein 'uses' in Headern überhaupt nichts zu suchen, egal wie umfangreich der Header ist. Philipp -- Philipp Thomas Arbeit: pthomas@suse.de Entwicklung, SuSE Linux AG Privat: pth@t-link.de
participants (3)
-
bb@kisters.de
-
Michael Matz
-
Philipp Thomas