Ich habe eine Klasse, die etwa wie folgt aussieht:C++ unter Verwendung von ‚this‘ als Parameter
class MeshClass
{
public:
Anchor getAnchorPoint(x, y)
{
return Anchor(this, x, y);
}
private:
points[x*y];
}
Ich möchte eine andere Klasse machen, die einen „Anchor“ Punkt darstellt, die den Zugriff auf das Netz erhalten und ändern der Punkt, wie folgt aus:
class Anchor
{
public:
Anchor(&MeshClass, x, y)
moveAnchor(x, y);
}
das Problem ist, wenn ich versuche, die Anchor
im MeshClass::getAnchorPoint
Methode, so etwas wie return Anchor(this, x, y)
zu machen, sondern weil this
const ist kann ich nicht. Als Workaround, bis ich das herausgefunden habe, habe ich einen Anker, der einen Verweis auf den Punkt akzeptiert, und moveAnchor bewegt den Punkt direkt.
Edit: Das Problem war wahrscheinlich etwas Dummes, das ich mit dem Versuch, eine Referenz verwenden wollte. Ich wechselte zu einem Zeiger wie ich normalerweise würde und ich kann this
ohne Beschwerden vom Compiler weitergeben. Ich bin mir fast sicher, dass ich einen Fehler bekommen habe, der darauf hinweist, dass dies const ist, aber ich kann es nicht neu erstellen, also muss ich einfach verrückt sein.
Hallo, für mich Ihr ist wohl nicht ... kompilieren es tut? –
Es ist wahrscheinlich (noch) nicht :) Bedenkt, dass (zumindest im einfachen alten C), wenn der Typ nicht angegeben ist, es standardmäßig int, sondern eine Warnung auslöst. –
Bitte schreiben Sie den tatsächlichen Code, den Sie verwenden möchten, und den Fehler, den er generiert. (Nicht, wie Sie versucht haben, diesen Fehler zu umgehen.) Es ist momentan etwas schwer zu erraten, was Sie zu tun versuchen. –