Frage : C++: Vieldeutige Kopienerbauerstörung vermeiden

Mein C++ Projekt hat eine Kategorie mit einem Erbauer der einfachen Kopie, der die übliche Weise bearbeitet: Es wird einen Parameter gegeben, der Hinweis a-(const) auf einem Fall seiner eigenen Kategorie ist, und er kopiert die Mitgliedsvariablen von ihm in den Gegenstand, der created.

Now ist, das ich eine andere Variante eines Kopienerbauers der Kategorie hinzufügen möchte; es ist erster Parameter ist der selbe wie vor, aber zusätzlich zu der, die es zusätzliche Parameter mit Compiler der Rückstellung values.

The haben sollte, gibt eine Störung über vieldeutige Erbauer, wenn der Erbauer mit nur einem Parameter benannt wird. Das ist sinnvoll, weil es nicht weiß, dass welches der Kopienerbauer zu use.

How können, ich, das neue einzuführen „verlängerte Kopienerbauer“ mit Standardparametern, ohne zu müssen, die zahlreichen Vorkommen zu ändern, in denen der Kopienerbauer mit einem Parameter hervorgerufen wird?

Antwort : C++: Vieldeutige Kopienerbauerstörung vermeiden

>> traurig verloren ich ein bisschen jetzt… MX und mein sind nicht ursprüngliche Arten (aber Reihen int), also können sie nicht in einer Initialisierungsliste zugewiesen werden, können sie?

Traurig, haben Sie vermutlich ich betrachteten sie nicht spezifisch Recht - obgleich Sie using Vektor besser gestellt sein, wie dieser kann.
http://www.cplusplus.com/reference/stl/vector/

>> Und ich schätze, dass wir noch das Problem mit Mehrdeutigkeit haben:
Warum? es gibt keine Mehrdeutigkeit die zwei Erbauer und eindeutig, ist es nur Sie den Default-Wert auf dort das setzend verursacht die Ausgabe.
Weitere Lösungen  
 
programming4us programming4us