Implementation erzwingen...



  • Hallo.
    Ich habe gerade ein Problem mit einer Templateklasse. Konkret geht es um einen Konstruktor, den ich nirgends in meinem Projekt direkt verwende, welcher aber unbedingt notwendig ist, damit ich die Klasse korrekt verwenden kann (Klingt das unlogisch?). Wie kann ich dafür sorgen, dass diese Funktion garantiert implementiert wird (sie wird nicht kompiliert, wenn ich sie nicht verwende)?

    mfg und nen schönen Abend noch... :xmas2:



  • konstruktoren kann man nicht erzwingen



  • Ahh, das ist schrecklich. Da muss ich doch tatsächlich den cTor zur Laufzeit implementieren 😞 . Das geht zwar (C++/CLI), aber ich hab da langsam keine Lust mehr...

    Edit:
    Jaaaa ➡ Ich kann das alles umgehen. DAs Problem war, dass ein Xml-Serializer keine Objekte ohne ISerializable, die mit CLSCompliant(false)-Attributen versehen sind (templates eben omg), serialisieren kann. Dabei braucht es eine bestimmte Art von Konstruktor, welche zwei spezielle Argumente annimmt, aus denen man die Daten extrahiert. Hab aber gar nicht an BinaryFormmater und Soap gedacht. Da ich nicht an ein bestimmtes Format gebunden bin, kann ich diesen intolleranten Xml-Formatter in die Tonne kippen... 😃
    Nu ist der Tag (bzw. die Nacht gerettet)

    mfg :xmas2:



  • Wie wäre es wenn du uns das konkrete Problem mal vorstellst?



  • otze schrieb:

    konstruktoren kann man nicht erzwingen

    Du kannst aber einen Compilezeit-Fehler erzeugen lassen, wenn ein T nicht über einen bestimmten Ctor verfügt.


Anmelden zum Antworten