während der Codierung stieß ich auf ein Problem.C++ mit einer "Basis" -Funktion innerhalb einer Überlastfunktion
Ich verwende projektiven 2D-Raum (d. H. 2D-Punkte (x, y) und 3D-Punkte (x, y, w)). Ich habe auch eine Funktion, die einen projektiven Punkt (3D) aufnimmt. Zum besseren Lesen und um Casting zu vermeiden, habe ich versucht, eine Überladung für diese Funktion zu schreiben, indem ich den 2D-Point nehme und die "base" -Funktion aufruft (einfaches Beispiel). Aber der Compiler kompiliert den Code nicht. Es scheint einen Linkfehler zu geben (LNK 2001).
//"base" function
foo(3D_pt pt)
{
//do something with it
}
//overloaded function
foo(2D_pt pt)
3D_pt pt3 = 3D_pt(pt.x, pt.y, 1);
foo(pt3);
}
Irgendwelche Ideen, wie man das macht?
Dank
edit: Der Fehler ist: LNK2001: ungelöst Symbol - foo (2D_pt pt)
Was ist der Fehler? – selbie
LNK 2001 - ungelöstes externes Symbol. – NewTech
@NewTech Dies ist nicht genug, post den vollständigen Fehler. Welches Symbol ist nämlich nicht genau aufgelöst? – Paul