Boost logo

Boost Users :

Subject: Re: [Boost-users] boost/math/special_functions/legendre.hpp causingcompile errors in other headers
From: Jeremy Conlin (jeremit0_at_[hidden])
Date: 2009-03-10 13:41:09

On Tue, Mar 10, 2009 at 1:14 PM, John Maddock <john_at_[hidden]>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.

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at