Fonction c++

mich62120 Messages postés 631 Date d'inscription   Statut Membre Dernière intervention   -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
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:
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.



A voir également:

1 réponse

Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
dé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.
0
mich62120 Messages postés 631 Date d'inscription   Statut Membre Dernière intervention   6
 
Salut Char Snipeur,
Comme d'habitude tes conseils sont juste, je viens pas souvent sur ccm mais t'es toujours là pour m'aider.
Merci à toi encore une fois.

mich
0
Bjarne > mich62120 Messages postés 631 Date d'inscription   Statut Membre Dernière intervention  
 
Achè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...
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299 > Bjarne
 
Tu 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.
0