Dan*_*ran 3 c++ visual-c++-2010
不确定如何描述这个,但在这里我去:
出于某种原因,当试图创建我的游戏的发布版本进行测试时,它的敌人创建方面是行不通的.
Enemies *e_level1[3];
e_level1[0] = &Enemies(sdlLib, 500, 2, 3, 128, -250, 32, 32, 0, 1);
e_level1[1] = &Enemies(sdlLib, 500, 2, 3, 128, -325, 32, 32, 3, 1);
e_level1[2] = &Enemies(sdlLib, 500, 2, 3, 128, -550, 32, 32, 1, 1);
Run Code Online (Sandbox Code Playgroud)
多数民众赞成我如何创造我的敌人.在调试配置中工作正常,但是当我切换到发布配置时,似乎没有正确初始化敌人.
对我来说,这似乎有点奇怪,它在调试中工作,但不是在发布,任何帮助赞赏的主要是我做错了什么.
e_level1[0] = &Enemies(sdlLib, 500, 2, 3, 128, -250, 32, 32, 0, 1);
Run Code Online (Sandbox Code Playgroud)
不会做你认为它做的事情.如果是构造函数调用,则会创建一个临时函数,并将其地址存储在e_level1 [0]中.初始化e_level1 [1]时,可能已经调用了e_level1 [0]析构函数.
你可能想做
Enemies* e_level1[3] =
{
new Enemies(sdlLib, 500, 2, 3, 128, -250, 32, 32, 0, 1) ,
new Enemies(sdlLib, 500, 2, 3, 128, -325, 32, 32, 3, 1) ,
new Enemies(sdlLib, 500, 2, 3, 128, -550, 32, 32, 1, 1)
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
131 次 |
| 最近记录: |