struct  virt { virt() : i(2) {} virt(int i) : i(i){} int i;  };
struct der1 : public virtual virt { der1(int i) : virt(i) {} }
struct der2 : public virtual virt { der2(int i) : virt(i) {} }
struct top : public der1, public der2 {
    top () : der1(0), der2(1) {} };


gets you:

~/ootbc/members/src$ g++ foo.cc
foo.cc:5: error: multiple types in one declaration

(actual error is code is trying to construct a virtual base class)

-- 
           Summary: poor diagnostic
           Product: gcc
           Version: 3.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: igodard at pacbell dot net
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21907

Reply via email to