Boost logo

Boost :

From: Eric Niebler (eric_at_[hidden])
Date: 2007-07-31 18:10:09

Stefan Seefeld wrote:
> Michael Marcin wrote:
>> Hello,
>> I have something like:
>> class A;
>> boost::array<A*,10> the_array;
>> std::fill( the_array.begin(), the_array.end(), NULL );
>> Which wont compile (at least under Visual Studio 2005) without a cast
>> for NULL... I've had this problem before and decided to try to find an
>> easy cast free expressive solution for it.
> I'm quite confused about what this whole thread is all about.
> I would simply write
> std::fill(the_array.begin(), the_array.end(), 0);
> and move on. What am I missing ?

I think the issue is that, although the literal "0" can be implicitly
converted to a pointer, when passed to std::fill(), its type is deduced
to be "int", at which point it can no longer be converted to a pointer.

Eric Niebler
Boost Consulting
The Astoria Seminar ==>

Boost list run by bdawes at, gregod at, cpdaniel at, john at