Hi Andrew,
I'm pretty sure this is an STL issue. We obviously don't have problems compiling this code on our supported platforms, which certainly don't push the state of the art as far as C++ compliance is concerned (at least in the case of Visual C++).
The definition of std:: pair in GCC 3.2's built-in STL contains the following constructor:
Code:
template <class _U1, class _U2>
pair(const pair<_U1, _U2>& __p) : first(__p.first), second(__p.second) {}
If I comment out this constructor, GCC reports errors similar to yours.
I'm assuming you are using Forte's built-in STL. Can you check the definition of std:: pair and see if it contains a constructor similar to the one above?
If not, you might consider using
STLport instead.
Take care,
- Mark