Fonction c++
Bonjour,
j'ai créé une fonction à partir d'un bout de programme de mon main, cette fonction doit lire des lignes et faire un traitement selon la taille:
int lireLigne(int* c, ifstream fich, int n)
Dans le main je fais ceci:
iL me mets toutes ces erreurs mais je ne comprends pas:
32:2 C:\Dev-Cpp\include\c++\3.4.2\backward\backward_warning.h In copy constructor `std::basic_ios<char, std::char_traits<char> >::basic_ios(const std::basic_ios<char, std::char_traits<char> >&)':
738 C:\Dev-Cpp\include\c++\3.4.2\bits\ios_base.h `std::ios_base::ios_base(const std::ios_base&)' is private
769 C:\Dev-Cpp\include\c++\3.4.2\streambuf `std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = std::char_traits<char>]' is private
22 U:\Scripteur\Scripteur\apprentissage\lire.cpp initializing argument 2 of `int lireLigne(int*, std::ifstream, int)'
Pouvez vous m'aider?
Merci Michel.
--
Quand l'homme a découvert que la vache donnait du lait, que cherchait-il à faire exactement à ce moment-là ?
La vie est une maladie mortelle sexuellement transmissible.Sortez couvert!!!! :D
j'ai créé une fonction à partir d'un bout de programme de mon main, cette fonction doit lire des lignes et faire un traitement selon la taille:
int lireLigne(int* c, ifstream fich, int n)
Dans le main je fais ceci:
int coord[2];
ifstream fichier("sp1.ink");
if(fichier)
taille=lireLigne(coord,fichier,n);
iL me mets toutes ces erreurs mais je ne comprends pas:
32:2 C:\Dev-Cpp\include\c++\3.4.2\backward\backward_warning.h In copy constructor `std::basic_ios<char, std::char_traits<char> >::basic_ios(const std::basic_ios<char, std::char_traits<char> >&)':
738 C:\Dev-Cpp\include\c++\3.4.2\bits\ios_base.h `std::ios_base::ios_base(const std::ios_base&)' is private
769 C:\Dev-Cpp\include\c++\3.4.2\streambuf `std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = std::char_traits<char>]' is private
22 U:\Scripteur\Scripteur\apprentissage\lire.cpp initializing argument 2 of `int lireLigne(int*, std::ifstream, int)'
Pouvez vous m'aider?
Merci Michel.
--
Quand l'homme a découvert que la vache donnait du lait, que cherchait-il à faire exactement à ce moment-là ?
La vie est une maladie mortelle sexuellement transmissible.Sortez couvert!!!! :D
Configuration: Windows 2000 Firefox 3.0
1 réponse
-
Contributeurdéclare ainsi :
int lireLigne(int* c, ifstream& fich, int n)
sinon, lors de l'appel de fonction il tente de faire une copie, ce qui est interdit.-
-
@mich62120Achète et lis le Stroustrup, car tes questions sont dignes d'un débutant de 10 ans...
Et apprends à utiliser Google & Google Groups pour trouver la réponse en moins d'1 seconde... -
Contributeur@BjarneTu es peut être un petit génie, mais pour le commun des mortels, ce n'est pas si évident que ça.
Il n'est pas si évident que le constructeur par copie est interdit ET que c'est ce qui est en cause via le passage d'argument à la fonction.
J'ai déjà été positivement surpris qu'il nous fournisse le prototype de la fonction, ce que les autres auraient omis.
à l'avenir, plutôt que de vanner gratuitement sans fournir aucune aide et que tu trouve la question trop con : abstient toi.
-