C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Pb avec fstream

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Etienne Rousee
Guest





PostPosted: Thu Feb 12, 2004 12:23 am    Post subject: Pb avec fstream Reply with quote



Bonjour,

Quelqu'un pourrait-il me dire pourquoi ce
code ne passe pas à la compilation:

#include <fstream.h>

class A
{
public:
A(ifstream f) { }
};

void toto(void)
{
ifstream fic;
A a(fic); // Tentative d'accès à des données privées ???
}

int main(void)
{
return 0;
}


Etienne


Back to top
Samuel Krempp
Guest





PostPosted: Thu Feb 12, 2004 2:04 am    Post subject: Re: Pb avec fstream Reply with quote




Bonjour,


le Thursday 12 February 2004 01:23, [email]etienne.rousee (AT) wanadoo (DOT) fr[/email] écrivit :
Quote:
Quelqu'un pourrait-il me dire pourquoi ce
code ne passe pas à la compilation:

#include
class A
{
public:
A(ifstream f) { }

voilà c'est tout simple : cette fonction prend un parametre ifstream par
valeur, ce qui veut donc dire que le constructeur de copie de fstream est
appelé quand tu l'appelles, et on ne peut pas copier un fstream. (déclarer
le cteur de copie privé est une façon de l'imposer)

as-tu des documents sur la standard library C++ ? le bouquin de josuttis, la
doc de ton compilo, la doc en ligne de dinkumware ou de roguewave ou de la
STL de SGI...
tu devrais regarder ce qui est dit concernant les streams.

--
Sam

Back to top
Etienne Rousee
Guest





PostPosted: Thu Feb 12, 2004 9:08 am    Post subject: Re: Pb avec fstream Reply with quote




"Samuel Krempp" <krempp (AT) crans (DOT) truc.en.trop.ens-cachan.fr> a écrit..
Quote:
le Thursday 12 February 2004 01:23, [email]etienne.rousee (AT) wanadoo (DOT) fr[/email] écrivit :
Quelqu'un pourrait-il me dire pourquoi ce
code ne passe pas à la compilation:

#include
class A
{
public:
A(ifstream f) { }

voilà c'est tout simple : cette fonction prend un parametre ifstream par
valeur, ce qui veut donc dire que le constructeur de copie de fstream est
appelé quand tu l'appelles, et on ne peut pas copier un fstream. (déclarer
le cteur de copie privé est une façon de l'imposer)

Merci, bien sûr, j'aurais du y penser.
Il suffit de passer le paramètre par référence.

Etienne



Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.