读书人

请教这样定义有什么东东

发布时间: 2012-02-13 17:20:26 作者: rapoo

请问这样定义有什么错误?
struct B
{
int m_a;
B(){ memset(this , 0 , sizeof(B)) ; }virtual ~B(){};
};


[解决办法]
虚表被清空,你说会不会有问题呢

C/C++ code
struct sut {    virtual void fun() {}    sut() {memset(this, 0, sizeof(*this)); }};int main(){    sut* p = new sut;    p->fun();    return 0;}
[解决办法]
你可以这样认为,类调用它的虚函数是通过一个函数指针调用的,你直接这样清0,就会将这个指针也置为0了,调用时自然就出问题了

读书人网 >C++

热点推荐