|
Boost : |
From: Peder Holt (peder.holt_at_[hidden])
Date: 2007-10-29 04:06:21
2007/10/24, Dave Jenkins <david_at_[hidden]>:
>
> [Note: This message received no response when posted to
> comp.lib.boost.user,
> so I'm reposting it here.]
>
> Hi,
> I'm testing with BOOST_TYPEOF_LIMIT_SIZE greater than 50 and native typeof
> disabled. I get a "class template has already been defined" error on
> "template<class V, class T> struct push_back" whenever
> BOOST_TYPEOF_LIMIT_SIZE is *not* a multiple of 50.
>
> This is because push_back is defined in both "typeof/vector.hpp" and, for
> example, "typeof/vector50.hpp". My fix is to change the push_back
> definition in "typeof/vector.hpp" to:
>
> # if BOOST_TYPEOF_LIMIT_SIZE < 50
> template<class V, class T> struct push_back {
> typedef V type;
> };
> # endif
>
> Can someone please confirm that this is the correct fix? A tiny program
> demonstrating the problem is listed below.
> Thanks,
> Dave Jenkins
>
> #define BOOST_TYPEOF_COMPLIANT
> #define BOOST_TYPEOF_LIMIT_SIZE 51
> #include <boost/typeof/typeof.hpp>
> int main(){
> return 0;
> }
Fixed in trunk.
Thanks for spotting this, and sorry for the slow response.
Peder
_______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk