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