Je suis débutant en C++ et je suis les cours en C++ sur votre suite.
J'ai fait une fonction de lecture mot à mot dans un fichier et chaque mot je le rentre dans un tableau dynamique mais le compilateur me ressort une erreur C2446 et C3867 dans ma boucle "FOR" et pourtant dans le code le compilateur ne me montre pas d'erreur. Pouvez vous me dire ou j'ai fait l'erreur.
Merci d'avance.
Voici mon code :
#include "Lecture.h"#include "stdafx.h"#include <iostream>#include <string>#include "Bonjour.h"#include <vector>#include <fstream>usingnamespace std;
std::string lecture(std::string ligne){
ifstream lit("E:/C++/FICHIERS/LOGIN.DAT"); //Ouverture d'un fichier en lectureif(lit){
vector<string> table; // Déclaration du tableau dynamiquefor(int i = 0; i < table.size; i++) // Tant que pas arrivé à la fin de mon tableau{
string mot;
lit >> mot;
table.push_back(mot);
cout << table[i] << endl;
}}else{
cout << "ERREUR: Impossible d'ouvrir le fichier en lecture." << endl;
}return0;
}
Je suis débutant en C++ et je suis les cours en C++ sur votre suite.
Si tu apprends le C++ sur le site de OpenClassrooms tu peux laisser tomber, ce cours n'est plus à jour depuis des années et du coup il t'apprendra beaucoup de mauvaise choses.
<source>:17:29: error: reference to non-static member function must be called; did you mean to call it with no arguments?
for (int i = 0; i < table.size; i++) // Tant que pas arrivé à la fin de mon tableau
~~~~~~^~~~
()
<source>:22:18: warning: implicit conversion changes signedness: 'int' to 'std::vector::size_type' (aka 'unsigned long') [-Wsign-conversion]
cout << table[i] << endl;
~~~~~ ^
<source>:31:9: warning: zero as null pointer constant [-Wzero-as-null-pointer-constant]
return 0;
^
nullptr
<source>:33:2: warning: C++98 requires newline at end of file [-Wc++98-compat-pedantic]
}
^
<source>:9:33: warning: unused parameter 'ligne' [-Wunused-parameter]
std::string lecture(std::string ligne)
^
<source>:9:13: warning: no previous prototype for function 'lecture' [-Wmissing-prototypes]
std::string lecture(std::string ligne)
^
<source>:17:21: warning: comparison of integers of different signs: 'int' and 'std::vector::size_type' (aka 'unsigned long') [-Wsign-compare]
for (int i = 0; i < table.size; i++) // Tant que pas arrivé à la fin de mon tableau
~ ^ ~~~~~~~~~~
6 warnings and 1 error generated.
Compiler returned: 1
Hors sujet :
il est mieux d'ecrire :
if (erreur) {
// gerer l'erreur
return;
}
// le reste de la fonction
plutot que :
if (pas d'erreur) {
// le reste de la fonction
} else {
// gerer l'erreur
}
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Discord NaN. Mon site.