[tuto VS6.0 -> 2005] entete istream(.h)
Bonjour à tous,
Je veut passer des projets de visual 6.0 à 2005
Voila j'ai recuperer le tuto de Farscape:
"Migrations de codes MFC de Visual 6.0 ou .net vers Visual studio 2005."
Et je me trouve dans le cas 2.3.5:
avant j'avais ceci sous visual 6.0
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
#include <iostream.h>
#include <fstream.h>
/*
/* Du code
/*
// Dans une fonction:
fstream in(bstrname, ios::in | ios::binary);
/*
/* Du code
/* |
Maintenant j'ai mis ceci sous 2005
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
#include <iostream>
#include <fstream>
using namespace std;
/*
/* Du code
/*
// Dans une fonction:
fstream in(bstrname, ios::in | ios::binary);
// Ici ca compile pas
/*
/* Du code
/* |
J'obtiens ce message d'erreur:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
error C2668: 'std::basic_fstream<_Elem,_Traits>::basic_fstream' : ambiguous call to overloaded function
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
c:\program files\microsoft visual studio 8\vc\include\fstream(844): could be 'std::basic_fstream<_Elem,_Traits>::basic_fstream(const wchar_t *,std::ios_base::openmode,int)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
c:\program files\microsoft visual studio 8\vc\include\fstream(835): or 'std::basic_fstream<_Elem,_Traits>::basic_fstream(const char *,std::ios_base::openmode,int)'
with
[
_Elem=char,
_Traits=std::char_traits<char>
]
while trying to match the argument list '(bstr, int)' |
Donc je vois bien que c'est un probleme de cast, mais je vois pas comment le regler, d'ailleurs je comprend meme pas qu'il y ait deux fois la meme fonction dans le meme fichier.
Si vous pouvez m'eclairer.
Merci