>>555
俺の場合FooY::Deleteみたいなのは作らないから
FooYは外部ライブラリだとして、↓みたいに多分ラップすると思う
struct FooYWrap : IFoo{
 FooY* p;
 FooYWrap(FooY* a):p(a){}
 ~FooYWrap(){FooY::Delete(p);}
 ...
};