|
From: Joseph W. <jo...@gn...> - 2006-07-09 04:46:30
|
Need a language lawyer :-) :-) :-)
g++ 4.0 on Linux is choking on
EvolutionDescription(
const Array& rateTimes,
const Array& evolutionTimes,
const std::vector<Size>& numeraires =3D std::vector<Size>(),
const std::vector<std::pair<Size,Size> > &relevanceRates =3D
std::vector<std::pair<Size,Size> > ());
with
=2E./../ql/MarketModels/evolutiondescription.hpp:62: error: expected =E2=80=
=98,=E2=80=99=20
or =E2=80=98...=E2=80=99 before =E2=80=98>=E2=80=99 token
=2E./../ql/MarketModels/evolutiondescription.hpp:62: error: wrong number of=
=20
template arguments (1, should be 2)
/usr/lib/gcc/i586-mandriva-linux-gnu/4.1.1/../../../../include/c++/4.1.1/bi=
ts/stl_pair.h:68:=20
error: provided for =E2=80=98template<class _T1, class _T2> struct std::pai=
r=E2=80=99
=2E./../ql/MarketModels/evolutiondescription.hpp:62: error: template argume=
nt 1=20
is invalid
=2E./../ql/MarketModels/evolutiondescription.hpp:62: error: template argume=
nt 2=20
is invalid
=2E./../ql/MarketModels/evolutiondescription.hpp:62: error: default argumen=
t=20
missing for parameter 5=20
of =E2=80=98QuantLib::EvolutionDescription::EvolutionDescription(const=20
QuantLib::Array&, const QuantLib::Array&, const std::vector<unsigned int,=20
std::allocator<unsigned int> >&, const std::vector<std::pair<unsigned int,=
=20
unsigned int>, std::allocator<std::pair<unsigned int, unsigned int> > >&,=20
QuantLib::Size)=E2=80=99
But it works if I typedef the template
typedef std::vector<std::pair<Size,Size> > RelevanceRatesType;
EvolutionDescription(
const Array& rateTimes,
const Array& evolutionTimes,
const std::vector<Size>& numeraires =3D std::vector<Size>(),
const std::vector<std::pair<Size,Size> > &relevanceRates =3D
RelevanceRatesType ());
is G++ broken?
|