一个非常奇怪的问题

void setCoorInMatrix(int x, int y); //出异常的成员函数

在windows下运行的APP退出时就会提示已触发了一个断点,然而打包到android下却一切正常

注释掉这个成员函数调用就不会出现上面的异常.

就这么简单的一个函数居然会报异常?根据报错信息也没找出什么,查了一个晚上,实在百思不得其解,还请各位高手指点一下…

Star类的声明:

void setStarColor(int colorID);
```

void setCoorInMatrix(int  x, int y);//有问题的成员函数
```



B类中这样调用
Star* starPointer =  (Star*)Sprite::create("blue.png");
starPointer->setCoorInMatrix(line, column);//注释掉这句退出时就不会显示错误.
starPointer->setStarColor(BLUE_STAR);  //这句一切正常.
```

主要是因为你用了(Star*)Sprite::create(“blue.png”);不正确的强制转换导致的,虽然这样你也可以使用Star的方法函数,看起来好像没问题,但退出游戏时会导致内存报错的

同意上面所说, 面向对象编程学的不扎实

谢谢楼上两位,确实是因为子类强制转换父类导致内存问题…