struct A
{
virtual void foo() = delete;
};
struct B : A
{
void foo() override = delete;
};
Interessanterweise müssen beide Funktionen = löschen d oder beides nicht. Andernfalls erhalten Sie einen Kompilierungsfehler. < /P>
Was ist der Sinn dieser Funktion? Es scheint, dass ein Gedanke in diese Überlegungen geraten ist (da die inkonsistente Löschung verboten ist, siehe oben), so dass dies absichtlich erlaubt war?
Anscheinend können Sie virtuelle Funktionen löschen: [code]struct A { virtual void foo() = delete; };
struct B : A { void foo() override = delete; }; [/code] Interessanterweise müssen beide Funktionen = löschen d oder beides nicht. Andernfalls erhalten Sie einen Kompilierungsfehler. < /P> Was ist der Sinn dieser Funktion? Es scheint, dass ein Gedanke in diese Überlegungen geraten ist (da die inkonsistente Löschung verboten ist, siehe oben), so dass dies absichtlich erlaubt war?
Fehler: Verwendung einer gelöschten Funktion Ein Fehler wird erläutert, aber es wird nicht erklärt, wie der Fehler behoben werden soll. Betrachten Sie den folgenden C ++ - Code.
struct foo{
int&...
Ich arbeite an einem C ++-Projekt mit plattformübergreifend. Ich versuche nun, dieser Klasse eine regelmäßige virtuelle Funktion hinzuzufügen, da nur ein Kind eine tatsächliche Implementierung hat....
in Numpy.AllCLOSE () (und die eng verwandte isclose () Funktion) Es werden zwei Toleranzfaktoren verwendet, um festzustellen, ob zwei Arrays nahe genug sind, um als gleich zu zählen. Es gibt die...
Alle std :: make _ werden durch C ++ 17 mit der Einführung des Arguments der Klassenvorlagen redundant (außer make_unique und make_shared ). Soweit ich das sagen kann, genau das Gleiche wie die...