Salut à tous,
Je commence sérieusement le C++, et là j'ai un retour de g++ qui me trouble moi en tant que débutant. (le problème avec moi c'est que je code en très haut niveau depuis 7 ans (j'ai commencé jeune la prog), mais je ne me suis jamais attaqué au bas niveau, donc si il y a des choses qui ne se font pas en C++, dite le moi (au niveau du code))).
Voilà, donc je crée mon premier "programme", ce programme est censé retourner les résultats de la ligne de commande.
Voici mon code :
Code :
- #include <iostream.h>
- int main(int argc, char *argv[])
- {
- int i;
- cout << "Nombre d'argument : " << argc << "\n";
- for (i=0; i<argc; i++)
- cout << "Argument " << i << " : " << argv[i] << "\n" ;
- return 0;
- }
|
Ce programme "fonctionne" (il y a une petite erreur que je détaillerai à la fin de ce topic), mais g++ me sort ce warning lors de la compilation :
Citation :
damien@White-Side:~/Documents/C++> g++ hello.cpp
In file included from /usr/include/c++/4.1.0/backward/iostream.h:31,
from hello.cpp:1:
/usr/include/c++/4.1.0/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
|
Voilà, donc comme je ne pense pas être bête, j'ai fait ce que me dit le message, je remplace <iostream.h> par <iostream>,
mais g++ me sort ça :
Citation :
damien@White-Side:~/Documents/C++> g++ hello.cpp
hello.cpp: In function int main(int, char**):
hello.cpp:6: error: cout was not declared in this scope
|
Voilà, donc maintenant je ne comprend plus rien, et j'aurai besoin d'une petite aide pour comprendre celà.
Sinon, une autre chose étrange (pour moi) :
Mon programme (avec <iostream.h> et pas <iostream> ) me retourne celà :
Citation :
damien@White-Side:~/Documents/C++> ./hello arg1 arg2
Nombre d'argument : 3
Argument 0 : ./helloArgument 1 : arg1Argument 2 : arg2
|
Mon soucis là est que j'ai mis pourtant dans le code un "\n", mais il n'y a aucun saut de ligne effectué, pourquoi ?
Voilà, je vous remercie.
Willits