Bonsoir,
Je cré un compte à rebours avec une classe (pour m'entrainer).
Mais lorsque je compile sous code::blocks, j'ai des erreur, il me dit que les fonctions ne sont pas déclarées or ceci n'est pas vrai car j'y ai inclu les bibliothèque concerné (dont une pour sleep(1); ).
for(int i = 0; i <= m_tempsDepart; i++)// temps que i ne dépasse pas le temps de départ on décrémente temps {
sleep(1); // "endormissement" du programme pendant une seconde
temps--; // on retire -1 à chaque tour de la boucle cout << temps << endl; // on affiche ce qu'il se passe } }
void Rebours::pause(int &temps, int oui) {
m_oui = oui;
Je ne peux pas répondre à ton message , mais si tu veux de l'aide, ordonne le . Mets des interlignes, fais des paragraphes . Pour mettre ton code , utilise la liste de séléction du code dans le menu d'edition , tout à gauche .
si ca bug, alors je vais afficher ton code (meme si cette erreur est tres etrange )
Project : Console application Compiler : GNU GCC Compiler (called directly) Directory : D:Documents and SettingsPropriétaireMes documentsprogramme test C-C++test code C++projet 02 -------------------------------------------------------------------------------- Switching to target: default Compiling: rebours.cpp rebours.cpp:
In member function `void Rebours::decompte(int&)':
rebours.cpp:17: error: `sleep' undeclared (first use this function) rebours.cpp:17: error: (Each undeclared identifier is reported only once for each function it appears in.)
rebours.cpp:19: error: `cout' undeclared (first use this function) rebours.cpp:19: error: `endl' undeclared (first use this function) rebours.cpp: In member function `void Rebours::pause(int&, int)': rebours.cpp:27: error: `cout' undeclared (first use this function) rebours.cpp:27: error: `endl' undeclared (first use this function) rebours.cpp: In member function `void Rebours::stop()': rebours.cpp:45: error: `cout' undeclared (first use this function) rebours.cpp:45: error: `endl' undeclared (first use this function) Process terminated with status 1(0 minutes, 0 seconds)
c'est etrage la balises <code type="console"> ne semble pas marcher .
à vu d'oeil tu aurais oublié de mettre using namespace std;
ou tu n'as pas inclus <iostream>
for(int i = 0; i <= m_tempsDepart; i++)// temps que i ne dépasse pas le temps de départ on décrémente temps {
sleep(1); // "endormissement" du programme pendant une seconde
temps--; // on retire -1 à chaque tour de la boucle cout << temps << endl; // on affiche ce qu'il se passe } }
void Rebours::pause(int &temps, int oui) {
m_oui = oui;
void Rebours::pause(int &temps, int oui) {
m_oui = oui;
cout << "Pause..." << endl;
while(m_oui) {
m_tempsPause = temps; }
cout << "Repart.." << endl; }
J'ai penser que la méthode repart arreterais cette boucle grace à la variable &m_oui qui elle serais modifier a 0 .
Mais je m'embrouille et ne comprend pas comment je pourrai faire pour que m_oui soit mis à 0.
J'utiliserai bien les pointeur du langage C mais je ne trouve pas ça super propre.
Pourquoi réinclure cette bibliothèque alors que je l'ai déjà inclus dans rebours.h qui est inclu dans main.cpp et rebours.cpp?
pourtant tu as l'air de maîtriser les références ^^.
C'est parce que le compilateur à besoin des déclarations (complètes) pour compiler en fichiers objets et ensuite linker.
C'est parce que le compilateur à besoin des déclarations (complètes) pour compiler en fichiers objets et ensuite linker.
Je ne comprend pas.
Sinon j'ai inclu unistd.h au main.cpp mais toujours la fonction est inconu bizzard code::blocks..
Dernière question dans ce poste ( )
Sur quel site peut-on apprendre plus en profondeur le c et le c++?
Car la je fais de l'entraînement (compte à rebours) mais mon but finale est de créer un logiciel de traitement de texte comme bloc-notes au début et après je le ferais évoluer. Je pense utiliser QT pour librairie d'aide.
/* This is defined as a real library function to allow autoconf
to verify its existence. */ int ftruncate(int, off_t);
__CRT_INLINE int ftruncate(int __fd, off_t __length) { return _chsize (__fd, __length); }
#ifdef __cplusplus } #endif
#endif /* _UNISTD_H */
j'ai chercher dans toutes les includes mais cete fonction n'existe pas ou n'est pas définit dans cette fonction
et le raccourcit ctrl+click gauche ne marche pas sur cette fonction(ce reccourcit ouvre le fichier ou la define ou la fonction est defini)
Et bien, le compilateur te dit qu'il ne sait pas comment passer de cin au type "Rebours", car tu n'as définit aucun opérateur ">>" entre les deux. Regarde cette partie du tuto de m@teo, tu comprendras mieux je pense (même s'il explique la chose pour un cout, mais tu devrais pouvoir adapter ça pour ton cin ) :