0

Turns out (found in the anti-silly warnings header shared in this answer) that Visual C++ has two groups of warnings that look painfully similar.

Namely C4510-C4513 and C4623-C4626 look complaining about exactly the same problems, for example both C4513 and C4624 warn that a default destructor could not be generated because the base class destructor is inaccessible. The same goes for other six warnings - looks like for each one in the first range there's a very similar warning in the second range.

What's the difference between the warnings in these ranges?

sepp2k
  • 363,768
  • 54
  • 674
  • 675
sharptooth
  • 167,383
  • 100
  • 513
  • 979

1 Answers1

0

I don't see any difference between 4510 and 4623.

4513 is level 4 while 4624 is level 1.

4511 is level 3 while 4625 is level 4.

4626 is only generated if the base class assignment operator is inaccessible while 4512 will be generated if the class has const members preventing the default assignment operator from being generated.

IronMensan
  • 6,761
  • 1
  • 26
  • 35