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) {} };


gets you:

~/ootbc/members/src$ g++ foo.cc
foo.cc: In constructor `top::top()':
foo.cc:5: error: no matching function for call to `der2::der2(const void**)'
foo.cc:3: note: candidates are: der2::der2(const der2&)
foo.cc:3: note:                 der2::der2(int)
foo.cc: At global scope:
foo.cc:5: error: multiple types in one declaration

-- 
           Summary: Even poorer 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=21908

Reply via email to