On Tue, Mar 10, 2009 at 1:14 PM, John Maddock <john@johnmaddock.co.uk> wrote:
I recently started using the Boost Math libraries because I need legendre
polynomials.  However I cam across a problem I was hoping someone on this
list could help me with.
My personal code compiles fine with no problems.  When I add the line

#include "boost/math/special_functions/legendre.hpp"

then I get compiler errors attributed to one of my header files.
Specifically I get:

my_header.hh:109 error: ISO C++ forbids declaration of ‘tuple’ with no type

As I mentioned before, I don't believe the problem is in my header file
because it compiles just fine without the legendre.hpp file.

Has anyone seen this problem before?  Do you know how to fix it?  I am
running gcc 4.2.1 on Mac OS X 10.5.6.

No I haven't seen that before, I would guess that there is a name clash somewhere, since legrendre.hpp pulls in Boost.TR1.Tuples.

So... what's at line 109 in your header, and do you do a using namespace std::tr1; or something similar somewhere?

HTH, John.

Yep, you were right.  It is a name clash.  Line 109 was a boost::tuple.  I changed them all and now it works.  

Thanks for the help.
Jeremy