アクセス違反
ウバタマ 2016/02/24(Wed) 17:17
Siv3Dの使い方を学んでいるのですが、以下のようなコードを書くとDebugでは何も問題が起きないのに、Releaseにするとアクセス違反が発生します。
//コードここから
#include <Siv3D.hpp>
#include <list>
using namespace std;
void Main()
{
Graphics::SetBackground(Color(80, 160, 230));
list<Sphere> s;//球のリスト
while (System::Update())
{
Graphics3D::FreeCamera();
Disc(0, -1, 0, 30).draw(Palette::Red);
if (System::FrameCount() % 10 == 0)//10フレーム毎に球を作る
{
s.push_back(Sphere(0, 0, 0, 1));
}
for (auto it = s.begin(); it != s.end();)//作られた球を移動、描画する
{
it->moveBy(1, 0, 0);
it->draw();
if (it->x > 30)//一定距離進んだら消す
{
it = s.erase(it);
continue;
}
it++;
}
}
}
//コードここまで
10フレーム毎に球を追加し、一定距離進んだら消すプログラム。
it->draw()の辺りでアクセス違反が起きているようなのですが、どこが悪いんでしょうか?
Reputeless 2016/02/24(Wed) 20:52
Reputeless 2016/02/24(Wed) 22:19