Ich mache ein Programm, und so weit so gut, wenn es um die Implementierung geht, aber jetzt bin ich mit trivialen Problem stecken, aber ich bin nicht in der Lage, eine Lösung dafür zu finden. Das Problem ist in diesem Teil des Codes, und sagt, esFehler C2662 Ausgabe
Fehler 1 Fehler C2662: 'Smetler :: action': nicht konvertieren kann 'diesen' Zeiger von 'const Smetler' auf 'Smetler &'
Wer weiß, was das Problem hier ist, da ich sicher bin, dass ich alles angewendet habe, was es gesagt wurde.
virtual void action()
{
std::cout << "I'm a copy" << copy() << ". Doing observations." << std::endl;
}
Smetler* copy() const { return new Smetler (*this); }
private:
void writeDown(ostream& wd) const
{
wd << Worker::getOccupation() << " " << Worker::getName() << ',' << Worker::getPosition() << action();
}
};
Vielen Dank im Voraus.
Zunächst einmal Sie zu schreiben bedeutete 'return new Smetler (* Dies); 'Dies ist auch kein guter Programmierstil. Sicherlich werden Sie früher oder später Speicherlecks bekommen. Verwenden Sie intelligente Zeiger! –
Sie haben auch kein relevantes Stück Code geliefert. –
Ja, es war ein Fehler beim Schreiben hier gemacht. Es sind ungefähr 3000 Zeilen Code, die Sache ist, dass er hier weint, also habe ich diesen Teil des Codes gepostet. –