Bonjour à tous

J'utilise la classe boost::filesystem::fstream pour représenter un fichier.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
class FileStream
{
private:
 
     filesystem::fstream mStream;
     ...
 
public:
 
     size_t length(void) const;
}
 
size_t FileStream::length(void) const
{
	size_t length;
 
	mStream.seekg(0, std::ios::end);	
	length = mStream.tellg();
	mStream.seekg(0, std::ios::beg);
 
	return length;
}
Et la le compilateur grogne:
1>error C2663: 'std::basic_istream<_Elem,_Traits>::seekg'*: 2 surcharges n'ont pas de conversion autorisée pour le pointeur 'this'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1>error C2662: 'std::basic_istream<_Elem,_Traits>::tellg'*: impossible de convertir un pointeur 'this' de 'const boost::filesystem::fstream' en 'std::basic_istream<_Elem,_Traits> &'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> La conversion perd les qualificateurs
1>error C2663: 'std::basic_istream<_Elem,_Traits>::seekg'*: 2 surcharges n'ont pas de conversion autorisée pour le pointeur 'this'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
Je ne comprend pas bien ce que ça signifie puisque j'ai suivi cet exemple
http://www.cplusplus.com/reference/i...eam/seekg.html

Naoss.