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.
Jeremy



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net