Frage

vielen Dank für Ihre Zeit, bis ich es wirklich schätze

Es gibt eine templatisierte Unterklasse, die mit der Müsli-Serialisierungsbibliothek serialisiert werden muss. Die Baseclass ist leer, es gibt nur existiert, so dass wir einen Vektor von Shared_PTR auf die Basisklasse haben können, so dass mehrere Arten der templatisierten Unterklasse aufbewahrt werden können. Effektiv ermöglichen Vektorspeicherung von mehreren variablen Typen.

generasacodicetagpre.

Der folgende Vektor der Baseclasse wird einige der Unterklassen geschoben:

generasacodicetagpre.

Zum Schluss wird der Vektor serialisiert und an eine Remote-Maschine zum Verarbeiten gesendet:

generasacodicetagpre.

Ich muss ein Schlüsselstück an dem Puzzle fehlen, da, wenn ich die Daten deserize, wenn das Programm eine Ausnahme auswirkte, wenn ich die Werte der Ausgabevariablen debugg, entweder leer oder große negative Zahlen, die mich dazu bringen, der Baseclass zu glauben, und oder oder Unterklasse wird nicht ordnungsgemäß serialisiert.

Der Code wurde vereinfacht, um das Problem nur auszusetzen, um weitere Informationen zur vollständigen Idee zu finden, die Sie auf diese Frage hier.

Die folgenden Getreideköpfe werden inbegriffen:

generasacodicetagpre.

Ich bin sicher, ich brauche mehr, da ich anfange, mehr Arten von Daten in die Baseclasse hinzuzufügen.

Wenn jemand eine Idee hat, was hier los ist, würde ich es sehr zu schätzen wissen.

vielen Dank für Ihre Zeit.

War es hilfreich?

Lösung

Sie haben hier nicht die Wahl, den Polymorphismus benötigt Virtualität, wenn Sie nur Zugriff auf eine Basisklasse-Schnittstelle haben.Es verhindert, dass auch Archiv ein Schablonentyp sein.

Ich kann mir vorstellen, dass Müsli einige Sfinae tut, um das Vorhandensein der serialize-Methode zu testen und ein Standardverhalten zu haben, falls nicht gefunden.Das wäre hier der Fall, da Sie keinen Kompilierungsfehler haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top