warning C4250: 'class1' : inherits 'class2::member' via domi
От: yxiie Украина www.enkord.com
Дата: 08.10.04 14:59
Оценка:
Моя упрощенная иерархия выглядит так:

class A {
public:
    virtual ~A() {}
    virtual void Method() {}
};

class B1:virtual public A {
public:
    virtual void Method() {/*...*/}
    /*...*/
};

class B2:virtual public A {
public:
    /*...*/
};

class C:public B1, public B2 {
public:
}; // <-- ***

int main() {
    return 0;
}


в месте
// <-- ***
компилятор (VC7.0) пишет:

a.cpp(21) : warning C4250: 'C' : inherits 'B1::B1::Method' via dominance
        a.cpp(10) : see declaration of 'B1::Method'


этот варнинг говорит, что у родителей класса есть методы с одинаковыми именами,
может кто-то подробно разъяснить, что это за варнинг и как с ним боротся.
и сколько ф-ций в таком варианте будет в VMT?
чую я, что где-то поблизости есть грабли
... << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.