Computer Hope

Software => Computer programming => Topic started by: TheWaffle on November 29, 2018, 03:37:55 AM

Title: GCC warnings
Post by: TheWaffle on November 29, 2018, 03:37:55 AM
I am playing with GCC's warnings, and I haven't been able to figure out how to suppress some of them.

The most annoying warning I enabled is with -Wshadow.
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html (https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html)

I learned this pattern:
Code: [Select]
Person::Person(string name)
{
this->name = name;
My shadowing in the constructor is intentional. I do this a lot.  Is there a way to suppress the warning:
Quote
declaration of ‘name’ shadows a member of ‘Person’
on a case by case basis? Maybe with a macro? How do you guys do it?
I know a lot of people would do something like
Code: [Select]
this->myName = namebut I find the extra 'my' cringy. I don't know why I don't like it. I just don't.
Title: Re: GCC warnings
Post by: nil on November 29, 2018, 06:15:28 AM
rules for Wshadow have been changing in response to complaints from devs -

https://stackoverflow.com/a/15554949