Eclipseは「newListener()」に関するバグを報告していますが、これはg++でコンパイルおよび実行されます。クラスにはここにリストされているよりも多くのデータが含まれていることに注意してください。これは切り捨てられているため、一見空のクラスを削除することはできません。Eclipseとg++の両方を幸せにするために追加/変更できるものはありますか?ただし、Base*クラスを変更することはできません。
class BaseIntf {
public:
virtual ~BaseIntf() {}
virtual void foo() = 0;
};
class BaseImpl: public virtual BaseIntf {
public:
virtual void foo() {}
};
class ListenerBaseInft: public virtual BaseIntf {
};
class Listener: public ListenerBaseInft, public BaseImpl {
};
int main(int argc, char *argv[]) {
// Eclipse:
// The type 'Listener' must implement the inherited pure virtual method 'BaseIntf::foo'
Listener* listener = new Listener();
listener->foo();
return 0;
}