> 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
_______________________________________________
gull mailing list
[email protected]
http://lists.alphanet.ch/mailman/listinfo/gull

Répondre à