Fonction c++

Fermé
mich62120 Messages postés 631 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 21 janvier 2010 - 14 janv. 2009 à 14:48
Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 - 14 janv. 2009 à 16:26
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.



1 réponse

Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 1 328
14 janv. 2009 à 15:24
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 jeudi 22 novembre 2007 Statut Membre Dernière intervention 21 janvier 2010 6
14 janv. 2009 à 15:30
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 jeudi 22 novembre 2007 Statut Membre Dernière intervention 21 janvier 2010
14 janv. 2009 à 15:54
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 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 1 328 > Bjarne
14 janv. 2009 à 16:26
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