Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Samuel Krempp
Bonjour,
le Thursday 12 February 2004 01:23, écrivit :
Quelqu'un pourrait-il me dire pourquoi ce code ne passe pas à la compilation:
#include <fstream.h>
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
Bonjour,
le Thursday 12 February 2004 01:23, etienne.rousee@wanadoo.fr écrivit :
Quelqu'un pourrait-il me dire pourquoi ce
code ne passe pas à la compilation:
#include <fstream.h>
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.
Quelqu'un pourrait-il me dire pourquoi ce code ne passe pas à la compilation:
#include <fstream.h>
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
Etienne Rousee
"Samuel Krempp" a écrit..
le Thursday 12 February 2004 01:23, écrivit :
Quelqu'un pourrait-il me dire pourquoi ce code ne passe pas à la compilation:
#include <fstream.h>
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
"Samuel Krempp" <krempp@crans.truc.en.trop.ens-cachan.fr> a écrit..
le Thursday 12 February 2004 01:23, etienne.rousee@wanadoo.fr écrivit :
Quelqu'un pourrait-il me dire pourquoi ce
code ne passe pas à la compilation:
#include <fstream.h>
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.
Quelqu'un pourrait-il me dire pourquoi ce code ne passe pas à la compilation:
#include <fstream.h>
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.