小さなプログラムに次のコードがあります
class myc {
int dummy;
public:
virtual int si(){return sizeof(*this);}
};
int main() {
myc a;
cout<<a.si()<<endl;
cin.get();
return 0;
}
出力は 8 ですが、期待どおり 4 になるはずです si() メソッド
virtual int si(){return sizeof(*this);}
を
int si(){return sizeof(*this);}
私は正しい出力、つまり4を取得します