09/05/14 07:42:43
struct A{virtual void operator()()=0;};
struct B:A{virtual int operator()(int)=0;};
struct C{A&x;C(A&a):x(a){} int operator()(int i){return static_cast<B&>(x)(i);}};
struct D:A{void operator()(){}} d;
int f(){
C c(d);
c();
return c(1u); // これ・・・
}
コンパイルを通ってしまわない様にするにはどう改造すればいいのでしょう?