Ifstream c++

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]);
Configuration: Linux
Firefox 2.0.0.1

3 réponses

  1. Contributeur
    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
    1. bah, si je mets input_file1 de type char* il m'affiche ca:
      error: no match for call to `(std::ifstream) (char**)'
      0
  2. Contributeur
    par curiosité, comment tu déclare ton type char* ?
    0
    1. 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