Ifstream c++

Fermé
amic - 15 avril 2008 à 16:37
 paul72 - 27 mai 2008 à 22:49
Bonjour,

je voulais savoir pourquoi je ne peux pas complier ca:

ifstream myfile1;
string input_file1;
input_file = argv[1];
input_file1 += ".rtl.vhd";
myfile1(input_file1); // l'erreur est la: error: no match for call to `(std::ifstream) (std::string&)'

alors que ca, ca complie bien:

ifstream myfile ;
myfile(argv[1]);

3 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
15 avril 2008 à 16:40
Tiens, c'est marrant qu'ils n'aient pas prévue ça... Tan qu'a faire des templates, autant qu'ils soient compatible entre eux.
input_file1 est de type string
argv[1] est de type char* : rien à voir, l'un est un objet l'autre est un pointeur.
0
bah, si je mets input_file1 de type char* il m'affiche ca:
error: no match for call to `(std::ifstream) (char**)'
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
16 avril 2008 à 08:28
par curiosité, comment tu déclare ton type char* ?
0
Bonjour Amic, cela fait bien 5 fois quej'ai tenter sans succès d'installer Mac sur mon PC:
P4 2.4 Gbherzt
512 de vive
Je ne crois pas que le problème soit là mais bon je l'indique...

nous sommes micaculeusement tomber sur ton post it qui explique de facon très pro la démarche qu'il faut entreprendre...
Toutefois nous butons sur des problèmes:
1. une fois les partitions créer avec ubuntu, les nom des ces dernières ne sont pas en hda mais en sda ? Es un problème ?

2. nous n'arrivons pas à utiliser la commande fdisk !?!
au prompt de ubountu (dans le terminal qui s'affiche - Accessoires -> Terminal) tu préconise la commande suivante:
sudo fdisk /dev/hda ou sda (2 nous avons créer les mêmes partions que toi) ...

donc:
sudo fdisk /dev/sda2 t af
nous avons essayer à peu près tous les fornmat possible est inimaginable mais rien ni fait, impossible de faire aller cette fichue commande fdisk pour changer le type de système en hfs+

Help please

D'autre part, ton explication :

Il faut maintenant dire à grub que mac os x se trouve sur (hd0,1) et le chainloader . Voici l'entrée de grub correspondant à Mac osx:

title Mac Os X
root (hd0,1) # hd0,1 correspond à hda2
makeactive # très important, sinon mac os x ne démarre pas
chainloader +1

Est trop succinte pour nous, si tu la décelopper un peu c'est volontier :-)

Merci d'avance
David et Polo
paul72@bluewin.ch
jd_steiner@yahoo.com

Récompense assuré :-)
0