グラフィックプログラム用の C++ コードを書いていますが、後で解析するためにすべての座標を収集する必要があります。同じものにベクトルを使用しようとしていますが、次のエラーが返されます。
Debug Assertion failed
Program:....
File:....
Line 932
Expression:Vector subscript out of range
これが私のコードの一部です:
std::vector<float> coordinates;
//random code
if(dnew >= 0)
{
x = x + 1.0;
glPointSize(1.5f);
glColor3f(0.0,1.0,1.0);
glBegin(GL_POINTS);
glVertex2f(x, y);
glEnd();
dnew = dnew + a;
if(t == 1)
{
coordinates.push_back (x);
}
}
cout <<coordinates[1];
再試行を押すと、stdthrow.cpp が表示され、次の行が示されます。
_CRTIMP2_PURE void __CLRCALL_PURE_OR_CDECL _Debug_message(const wchar_t *message, const wchar_t *file, unsigned int line)
{
// report error and die
if(::_CrtDbgReportW(_CRT_ASSERT, file, line, NULL, message)==1)
{
::_CrtDbgBreak();
}
}