Ошибка сегментации при создании вектора ⇐ C++
-
Гость
Ошибка сегментации при создании вектора
В настоящее время я работаю над проектом по изучению низкоуровневой графики. частью этого является проекция и вращение. Однако когда я запускаю свой код ротации в отладчике, я получаю сообщение об ошибке, сообщающее, что произошла ошибка сегментации, и я не уверен, почему, поскольку я даже не могу найти какое-либо использование указателей в моем коде или модификацию литерала. Я использую minGW с vscode. ошибка возникает при объявлении точки point1d. Проблема в том, что по какой-то причине функция MatrixMultiply возвращает 0.
Остальная часть кода, которая, как я знаю, не вызывает ошибки: https://pastes.io/snkzfhh4qe
#include #include #include #include #include использование пространства имен std; вектор CalculateForce(int x0, int y0, int x1, int y1, int m1, int m2); вектор ViewPortToCanvas (double x, double y, int Canvas_Width, int Canvas_Height, int ViewPort_Width, int ViewPort_Height) { векторные координаты; координаты.push_back(x * Canvas_Width/ViewPort_Width); координаты.push_back(y * Canvas_Height/ViewPort_Height); возвратные координаты; } вектор ProjectPoint (вектор Point) { двойной d = 0,5; вектор ProjectedPoint = ViewPortToCanvas((Point[0] * d/Point[2]), (Point[1] * d/Point[2]), 400, 400, 1, 1); вектор Выход; Output.push_back(ProjectedPoint[0]+400); Output.push_back(ProjectedPoint[1]+400); cout
В настоящее время я работаю над проектом по изучению низкоуровневой графики. частью этого является проекция и вращение. Однако когда я запускаю свой код ротации в отладчике, я получаю сообщение об ошибке, сообщающее, что произошла ошибка сегментации, и я не уверен, почему, поскольку я даже не могу найти какое-либо использование указателей в моем коде или модификацию литерала. Я использую minGW с vscode. ошибка возникает при объявлении точки point1d. Проблема в том, что по какой-то причине функция MatrixMultiply возвращает 0.
Остальная часть кода, которая, как я знаю, не вызывает ошибки: https://pastes.io/snkzfhh4qe
#include #include #include #include #include использование пространства имен std; вектор CalculateForce(int x0, int y0, int x1, int y1, int m1, int m2); вектор ViewPortToCanvas (double x, double y, int Canvas_Width, int Canvas_Height, int ViewPort_Width, int ViewPort_Height) { векторные координаты; координаты.push_back(x * Canvas_Width/ViewPort_Width); координаты.push_back(y * Canvas_Height/ViewPort_Height); возвратные координаты; } вектор ProjectPoint (вектор Point) { двойной d = 0,5; вектор ProjectedPoint = ViewPortToCanvas((Point[0] * d/Point[2]), (Point[1] * d/Point[2]), 400, 400, 1, 1); вектор Выход; Output.push_back(ProjectedPoint[0]+400); Output.push_back(ProjectedPoint[1]+400); cout
Мобильная версия