Boost logo

Boost :

From: Joaquín Mª López Muñoz (joaquin_at_[hidden])
Date: 2006-03-17 08:26:06

Alexei Alexandrov ha escrito:

> Joaquín Mª López Muñoz <joaquin <at>> writes:
> >
> > I could avoid these warnings in Boost.MultiIndex, but I'm not sure this
> > is the right thing to do, as the problem is really Boost-wide and should
> > be considered, IMHO, from a global point of view: any class using
> > boost::noncopyable will make MSVC level 4 shout, try the following
> > for instance:
> The example you provided compiles without a warning with "cl -c -W4 test.cpp".

Ummm... it shows C4511 and C4512 in MSVC 6.5. Maybe MSVC 7.1 is

> So the problem is somewhat more specific perhaps?

The problem is, one way or another, related to the noncopyable idiom (deriving
from a class with private copy ctr and assignment operator.) Maybe the
following, more convoluted snippet will MSVC 7.1 emit the warning:

#include <boost/noncopyable.hpp>

class bar:boost::noncopyable

template<typename T>
class foo:bar
  foo(int x=0);

foo<int> f;

Even it doesn't, my point remains that this is a problem likely to be
distributed across the whole Boost codebase. And that it is IMHO
a nonsense warning, since lacking automatically generated copy
ctor and assignment operator cannot AFAICS lead to inadvertent

Joaquín M López Muñoz
Telefónica, Inevstigación y Desarrollo

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