Why do classes with static data receive errors when linking?
Because the static data of the class should be defined only in one translation unit. If you do not do this, you will probably get a “undefined external” configuration error. The usual place to determine static variables of the class is a *. cpp file of this class.