It compiles here under MSVC8, but I’m aware of at least one other report of 
this problem. The current analysis is that if you compile in release mode, it 
works OK, but the error appears in debug mode. If you try that, I would be 
interested in the result.

 

Vivian

 

-----Original Message-----
From: »ÆÖ¾Ó [mailto:hzy5...@163.com] 
Sent: 13 February 2009 01:25
To: flightgear-devel@lists.sourceforge.net
Subject: [Flightgear-devel] Compile Error:cannot convert parameter 1 from 
'FGPositioned *const ' to 'const FGPositioned::Type'

 

I checked out the fresh source code. When I compiled it with MSVC 8.0, I got 
these error info.

 

I know the error comes from two lines in file "positioned.cxx".

 

Why I got these error info? Is the problem of MSVC 8.0 Compiler or FG source 
code?

 

Please help me! Thanks.

 

/////////////////////////two lines in 
positioned.cxx///////////////////////////////////////

l = lower_bound(it->second.begin(), it->second.end(), aFilter->minType(), 
LowerLimitOfType());

u = upper_bound(l, it->second.end(), aFilter->maxType(), LowerLimitOfType());

 

//////////////////////////////Error 
Info///////////////////////////////////////////////////

1>c:\program files\microsoft visual studio 8\vc\include\xutility(290) : error 
C2664: 'bool LowerLimitOfType::operator ()(const FGPositioned::Type,const 
FGPositioned *) const' : cannot convert parameter 1 from 'FGPositioned *const ' 
to 'const FGPositioned::Type'
1>        There is no context in which this conversion is possible
1>        c:\program files\microsoft visual studio 8\vc\include\xutility(1469) 
: see reference to function template instantiation 'bool 
std::_Debug_lt_pred<_Pr,FGPositioned*,FGPositioned*>(_Pr,const _Ty1 &,const 
_Ty2 &,const wchar_t *,unsigned int)' being compiled
1>        with
1>        [
1>            _Pr=LowerLimitOfType,
1>            _Ty1=FGPositioned *,
1>            _Ty2=FGPositioned *
1>        ]
1>        c:\program files\microsoft visual studio 8\vc\include\xutility(1479) 
: see reference to function template instantiation 'void 
std::_Debug_order_single2<_InIt,_Pr>(_FwdIt,_FwdIt,_Pr,bool,const wchar_t 
*,unsigned int,std::forward_iterator_tag)' being compiled
1>        with
1>        [
1>            _InIt=std::_Tree<std::_Tset_traits<FGPositioned 
*,OrderByType,std::allocator<FGPositioned *>,false>>::const_iterator,
1>            _Pr=LowerLimitOfType,
1>            _FwdIt=std::_Tree<std::_Tset_traits<FGPositioned 
*,OrderByType,std::allocator<FGPositioned *>,false>>::const_iterator
1>        ]
1>        c:\program files\microsoft visual studio 8\vc\include\algorithm(2018) 
: see reference to function template instantiation 'void 
std::_Debug_order_single<_FwdIt,_Pr>(_InIt,_InIt,_Pr,bool,const wchar_t 
*,unsigned int)' being compiled
1>        with
1>        [
1>            _FwdIt=std::_Tree<std::_Tset_traits<FGPositioned 
*,OrderByType,std::allocator<FGPositioned *>,false>>::const_iterator,
1>            _Pr=LowerLimitOfType,
1>            _InIt=std::_Tree<std::_Tset_traits<FGPositioned 
*,OrderByType,std::allocator<FGPositioned *>,false>>::const_iterator
1>        ]
1>        c:\program files\microsoft visual studio 8\vc\include\algorithm(2042) 
: see reference to function template instantiation '_FwdIt 
std::_Lower_bound<std::_Tree<_Traits>::const_iterator,_Ty,__w64 
int,_Pr>(_FwdIt,_FwdIt,const _Ty &,_Pr,_Diff *)' being compiled
1>        with
1>        [
1>            _FwdIt=std::_Tree<std::_Tset_traits<FGPositioned 
*,OrderByType,std::allocator<FGPositioned *>,false>>::const_iterator,
1>            _Traits=std::_Tset_traits<FGPositioned 
*,OrderByType,std::allocator<FGPositioned *>,false>,
1>            _Ty=FGPositioned::Type,
1>            _Pr=LowerLimitOfType,
1>            _Diff=__w64 int
1>        ]
1>        h:\20090210\flightgear\src\navaids\positioned.cxx(145) : see 
reference to function template instantiation '_FwdIt 
std::lower_bound<std::_Tree<_Traits>::const_iterator,FGPositioned::Type,LowerLimitOfType>(_FwdIt,_FwdIt,const
 _Ty &,_Pr)' being compiled
1>        with
1>        [
1>            _FwdIt=std::_Tree<std::_Tset_traits<FGPositioned 
*,OrderByType,std::allocator<FGPositioned *>,false>>::const_iterator,
1>            _Traits=std::_Tset_traits<FGPositioned 
*,OrderByType,std::allocator<FGPositioned *>,false>,
1>            _Ty=FGPositioned::Type,
1>            _Pr=LowerLimitOfType
1>        ]
1>c:\program files\microsoft visual studio 8\vc\include\xutility(292) : error 
C2664: 'bool LowerLimitOfType::operator ()(const FGPositioned::Type,const 
FGPositioned *) const' : cannot convert parameter 1 from 'FGPositioned *const ' 
to 'const FGPositioned::Type'
1>        There is no context in which this conversion is possible






  _____  

 <http://www.yeah.net> 网易邮箱,中国第一大电子邮件服务商 

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to