Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

Is there a way to disable the VS's C26495 warning (Always initialize a member variable) for specific variables? Some member variables should not be initialized in the constructor. Examples include those in MFC's InitInstance and OnNewDocument.

#pragma warning disable C26495 and #pragma warning restore C26495 surrounding the variables in the class declaration or around the constructor didn't work. Any ideas?

Adding the #pragma warning(disable:26495) before the c'tor and then #pragma warning(default:26495) immediately after it should work (it does, for me, in a test case). Another option is adding the [[gsl::suppress(type.5)]] attribute to the c'tor. The pragma 'code' you have shown looks wrong - is that exactly what you tried? Adrian Mole Jun 26, 2022 at 16:51 ... but note, both options will suppress the warning for all uninitialized variables, not just specific ones. Adrian Mole Jun 26, 2022 at 16:51 "Some member variables should not be initialized in the constructor." - That is, unequivocally, wrong. All member variables must be initialized in the c'tor. They may not be initialized to their final values, but you certainly wouldn't want an uninitialized pointer wreak havoc upon your heap. IInspectable Jun 26, 2022 at 16:55 Yeah. Following up on what @IInspectable said: Can you give an example of a member of your CWinApp -derived class, where initializing (even to an unusable value) in the c'tor would be harmful or wrong? That value would, of course, need to be overwritten in the InitInstance method, but it should still have a 'base' default value given to it by the c'tor. Adrian Mole Jun 26, 2022 at 17:00 Yep, typed the pragma wrong. Surprised the compiler didn't catch it. That'll work. Thank you. Tad Jun 26, 2022 at 17:02

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question . Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers .