首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教这样定义有什么东东

2012-02-13 
请问这样定义有什么错误?struct B{int m_aB(){ memset(this , 0 , sizeof(B)) }virtual ~B(){}}[解决

请问这样定义有什么错误?
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了,调用时自然就出问题了

热点排行