には戻りません、:機能にエラーが発生していない、まだそれは、私はこの非常に迷惑な問題を持っているプログラム
void renderGame::renderMovingBlock(movingBlock* blockToRender){
sf::Shape blockPolygon;
sf::Shape blockLine = sf::Shape::Line(blockToRender->getLineBegin().x,blockToRender->getLineBegin().y,blockToRender->getLineEnd().x,blockToRender->getLineEnd().y, 3.f,movingBlockLineColor);
for(auto i = blockToRender->getVertexArray()->begin(); i!=blockToRender->getVertexArray()->end(); ++i){
blockPolygon.AddPoint(i->x, i->y, movingBlockBlockColor);
}
renderToWindow->Draw(blockLine);
renderToWindow->Draw(blockPolygon);
}
単純な関数である、それはオブジェクトへのポインタを取りますSFMLを使用して画面に表示します。これはレール上を移動する単純なポリゴンです。
getVertexArray()は頂点のオブジェクトのベクトルへのポインタを返し、renderToWindowはSFへのポインタである::私が持っているRenderWindowの
非常に奇妙な問題は、私はそれはそれから戻りません、この関数を呼び出すことができるということです、VC++休憩とに私を指す:
int __cdecl atexit (
_PVFV func
)
{
return (_onexit((_onexit_t)func) == NULL) ? -1 : 0;
}
は、私がここに奇妙なbehavoirを取得していますが、私は右の表示()関数およびシステム(「一時停止」)を呼び出すことによって終了する前にこの機能を停止することができ、それが表示されますすべてが完璧にはうまくいっていますが、さらに一歩進んで壊れます。
私は動的に割り当てられたオブジェクトを送信していると付け加えます。普通のものを設定するとすべてうまくいきます。私はプログラムをデバッグし、ポリゴンとラインが正しい座標を持ち、すべてが正しく表示されますが、関数から戻ることはできません。
奇妙な...メソッドの最後に 'return;'を付けると変更されますか?つまり、 'renderToWindow-> Draw'呼び出しから復帰しますか? – shinkou
いいえ、何も変わりません – dreta