делегатское утверждение

Привет, я хочу улучшить свою математическую библиотеку,

когда я вычисляю длину чего-то, что я делаю

assert( !equal(len,0.0));
const f32 invsqrt = 1.0/sqrt(len);
X*= invsqrt;
Y*= invsqrt;
Z*= invsqrt;

этот код хорош, и если я делаю неправильно деление на ноль, код ломается

«Runtime запросил разрыв приложения в строке. Vector.h строка 88»

Это хорошо, но я хочу сделать лучше, я хочу показать, где ошибка действительно.

Поэтому вместо того, чтобы показывать «vector.h» и строку 88, я хочу показать «main.cpp» «строку 15» (если функция getLength вызывается в строке 15 в main).

Вектор — это только заголовок, поэтому я думаю, что это возможно (это просто чувство) … но как?

Заранее спасибо. Я надеюсь, что вы видите, насколько это будет полезно.

0

Решение

Вот где код, так что там, где он сломается.

Я думаю, что вы имеете в виду, чтобы увидеть стек вызовов.
В визуальной студии это по адресу: Отладка -> Windows -> Стек вызовов.

Стек вызовов может показать вам, как вы попали в эту строку кода (какие функции были вызваны в рабочем процессе)

1

Другие решения

Других решений пока нет …