TITLE: Illegal initialization of virtual bases PROBLEM: b91926@fnclub.fnal.gov (David Sachs), 2 Jun 93 Fermi National Accelerator Laboratory Markku Sakkinen, in his recent article in "c++ Report", pointed out one case in which the ARM rules absolutely cannot be followed. Suppose you have a virtual base, which has a non-virtual base: e.g. struct a .... struct b : a .... struct c : virtual b .... The wording of the ARM would appear to require (for initializing a c object) that the b subobject be initialized before ITS a subobject. Personally, I would prefer, that virtual bases be initialized the FIRST time they are encountered in the normal initialization sequence. This would mean that a virtual base that occurs only once would be initialized as if it were not virtual. This would also tend to minimize the code generated, as only classes that actually specify the virtual base would have to be able to initialize it. This area of the standard is a can of worms, that might best be left unopened.