Boost logo

Boost Users :

Subject: Re: [Boost-users] [non Boost] Template troubles.
From: Noah Roberts (roberts.noah_at_[hidden])
Date: 2008-12-10 12:15:03


Robert Jones wrote:
> Ok, first off, this is not explicitly about Boost, which I know is
> against the
> Boost guidelines, but I hope you'll all forgive me. Indirectly it is
> through trying
> to use Boost that i've bumped into this.
>
> A little code snippet...
>
> #include <cstddef>
>
> template < typename T, std :: size_t sz >
> struct Block
> {
> typedef T type[ sz ][ sz ];
> };
>
> template < typename T >
> void assign( T & assignee, const T & value );
>
> template < typename T, std :: size_t sz >
> void assign( T ( & assignee )[ sz ], const T ( & value )[ sz ] );
>
> int main( )
> {
> Block< int, 16 > :: type a;
> const Block< int, 16 > :: type b = { };
>
> assign( a, b );
> }
>
> This compiles under Gcc & Comeau, but MS VisStudio reckons the call
> to assign in main is ambiguous. Any thoughts?

Try comp.lang.c++ - I'd be very interested in the answer.


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