[gull] C++ sous linux
Marc Mongenet
marc.mongenet at gmail.com
Sun Apr 24 07:28:02 CEST 2005
> J'essaie de compiler un petit programme test en C++ sous linux utilisant
> les librairies standard C++:
>
> #include <iostream>
> int main()
> {
> cout << "hello world\n";
> return 0;
> }
>
> Commande de compilation:
>
> $ g++ first.cpp
>
> Malheureusement j'obtiens une erreur:
>
> first.cpp: In function `int main()':
> first.cpp:5: error: `cout' undeclared (first use this function)
> first.cpp:5: error: (Each undeclared identifier is reported only once
> for each
> function it appears in.)
Bonjour,
Réponse courte :
écrire std::cout à la place de cout
Réponse plus longue :
- À l'époque (avant la bibliothèque standard), on incluait iostream.h.
- Un jour, la notion de namespace à été introduite dans C++.
- Et tout ce qui est standard à été mis dans le namespace appelé std.
- Donc le compilateur ne trouve plus cout (ni cin, ni cerr, etc), sauf
à écrire std::cout.
- Pour résoudre le problème, il existe plusieurs moyens :
-- Utiliser std:: un peu partout.
-- Ou bien utiliser l'instruction using ainsi:
#include <iostream>
using namespace std;
-- Ou bien (continuer à) inclure iostream.h, qui en fait implémente
les deux lignes précédentes.
Bienvenue dans le monde merveilleux de C++. :)
J'ai utilisé la bibliothèque standard sur Linux, n'hésite pas à poser
d'autres questions, tant que j'arrive à suivre...
Marc Mongenet
More information about the gull
mailing list