我使用Visual Studio 2010和SFML在C ++中制作游戏,当我在调试模式下构建时,一切正常。几天前我尝试了Release模式并且工作正常,但是现在每次我尝试在Release模式下构建它时它都会崩溃并显示一条消息,上面写着这样的信息:
" HunterQuest.exe中的0x733b1ed7中未控制异常:0xC0000005:读取ubication 0x10127459时访问违规行为。"
看到Local Variables窗口,它看起来一切都指向" 0x00000000",或者它是假的或0 ...
它在课程开始时崩溃了#34; Game",这是我在main()中使用的唯一一个类。经过几行后,这个"对于",当i = 18时崩溃。即使我删除它,它也会在我设置浮动时崩溃" gravity"到0.75 ......
for (int i = 0; i < 26; i++)
{
debug = new Debug();
debug->Inicializar(fuenteMine, sf::Color::Black, 12);
listaDebug.push_back(debug);
}
haPulsadoN = false;
haPulsadoP = false;
puedePulsarU = true;
juegoPausado = false;
puedeQuitarVida = false;
gravedad = 0.75;
tipoCam = 1;
nCuadrante = 1;
知道发生了什么?
编辑:我不知道这是否有所帮助,但这是我的Juego构造函数中的第一行(我的游戏类),它还有更多行,但我想指出这一点:Juego::Juego()
{
ventana = new Ventana(1024, 768);
}
这是Ventana的构造函数:
Ventana::Ventana(int an, int al)
{
ancho = an;
alto = al;
ventana = new sf::RenderWindow(sf::VideoMode(ancho, alto), "Hunter's Quest");
}
而不是1024 for&#34; ancho&#34; &#34; alto&#34; 768,#34; 13327667&#34;构造函数中的每一个,当我用F10逐行移动(调试它)时,它直接从&#34; ancho = an;&#34; to&#34; ventana = new&#34;,所以它不适用&#34;&#34;和&#34; al&#34; ....我不知道为什么......