Boost logo

Boost :

Subject: Re: [boost] Warning policy? local variable hides (i.e. shadows) globalvariable
From: Peter Dimov (lists_at_[hidden])
Date: 2015-01-15 10:24:56

Beman Dawes wrote:

> Should Boost have policy to clear these warnings?

I found one place where -Wshadow was quite annoying.

class error

    std::string name_, reason_;


    error( std::string const & name, std::string const & reason ):
        name_( name ), reason_( reason ) {}

    std::string name() const { return name_; }
    std::string reason() const { return reason_; }

The name() member function is shadowed by the constructor parameter. I can't
use name_ for the parameter because of the member. I don't want to use _name
for the parameter because the leading underscore is legal but for obscure
reasons. So I was forced to use abbreviations like nm and rsn, which isn't
very readable.

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