Boost logo

Boost :

From: Jonathan Wakely (cow_at_[hidden])
Date: 2004-09-15 12:23:34

On Wed, Sep 15, 2004 at 12:28:08PM -0400, Hugo Duncan wrote:

> Aleksey,
> With
> gcc (GCC) 3.3.3 (cygwin special)
> there is a include order dependency. Including boost/bind.hpp before
> boost/mpl/transform.hpp causes a compile error
> type named `type' in `struct
> boost::mpl::apply_wrap2<boost::mpl::push_front<mpl_::na, mpl_::na>,
> mpl_::arg<1>, wrapper<mpl_::arg<2> > >'
> I have not been able to test with other gcc versions.

With GCC 3.3.3 I get errors about _1 and _2 being ambiguous from the
following testcase:

#include <boost/bind.hpp>
#include <boost/mpl/transform.hpp>

(yes, that's it)

The first error is

/home/jw/include/boost/mpl/transform.hpp:45: error: use of `_1' is ambiguous
/home/jw/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp:26: error:
   first declared as `typedef struct mpl_::arg<1> mpl_::_1' here
/home/jw/include/boost/bind/placeholders.hpp:54: error: also declared as `
   boost::arg<1> <unnamed>::_1' here

And similarly for _2

With GCC 3.4.3 (from CVS yesterday) the same testcase says _1 and _2 are

/home/jw/include/boost/mpl/transform.hpp:45: error: `_1' was not declared in this scope
/home/jw/include/boost/mpl/transform.hpp:45: error: `_2' was not declared in this scope

I can post the rest of the errors if needed, but they all seem to be as
a consequence of those first errors.


"A foolish consistency is the hobgoblin of little minds..."
	- Ralph Waldo Emerson

Boost list run by bdawes at, gregod at, cpdaniel at, john at