当我在Visual Studio Release模式下构建时,一切都是Null / 0 / false

时间:2014-05-04 16:27:17

标签: c++ visual-studio-2010 pointers sfml

我使用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; ....我不知道为什么......

0 个答案:

没有答案