Neulich bin ich auf einen Fehler gestoßen, der erstmal so schlimm gar nicht aussieht:
interpolate(double, const P&, const P&) [with P = FVector]: Assertion `t >= 0.0 && t <= 1.0' failed.
Die Fehlermeldung sagt uns, dass eine Assertion fehlgeschlagen ist. Offenbar ist der Parameter t nicht zwischen 0 und 1. Aber das ist noch längst nicht alles.. weiter…
Neulich bin ich auf einen Fehler gestoßen, der erstmal so schlimm gar nicht aussieht:
interpolate(double, const P&, const P&) [with P = FVector]: Assertion `t >= 0.0 && t <= 1.0' failed.
Die Fehlermeldung sagt uns, dass eine Assertion fehlgeschlagen ist. Offenbar ist der Parameter t nicht zwischen 0 und 1. Aber das ist noch längst nicht alles..
Beispiel
Da das Programm in dem der Fehler ursprünglich auftrat, sehr komplex ist, illustriere ich den Fehler hier lieber an einem kleinen (zwecklosen) Beispielprogramm:
#include <iostream>
#include <cassert>
int main()
{
double a = 12/24;
double b = -31/38;
double t = a/b;
assert( t>=0.0 and t=0.0 and t