fix bug: undefined vtable reported by some compilers