Vraag : C++: Vermijd de dubbelzinnige fout van de exemplaaraannemer

Mijn C++ project heeft een klasse met een eenvoudige exemplaaraannemer die de gebruikelijke manier werkt: Het wordt gegeven één parameter, die een (const) verwijzing naar een geval van zijn eigen klasse is, en het kopi�ërt de lidvariabelen van het in het voorwerp die created.

Now zijn die ik heb willen om een andere variant van een exemplaaraannemer aan de klasse toevoegen; het is eerste parameter is het zelfde als voordien, maar naast dat het extra parameters met gebrek values.

The geeft een fout over dubbelzinnige aannemers, wanneer de aannemer met slechts één parameter wordt geroepen. Dat houdt steek omdat het weet welke van de exemplaaraannemers aan use.

How ik de nieuwe „uitgebreide exemplaaraannemer“ met standaardparameters kan introduceren zonder het moeten het talrijke voorkomen veranderen waar de exemplaaraannemer met één parameter wordt aangehaald?

Antwoord : C++: Vermijd de dubbelzinnige fout van de exemplaaraannemer

>> droevig soort I'm nu verloren… mX en mijn is primitieve types (maar geen series van int.), zodat kunnen zij niet in een initialiseringslijst worden toegewezen, kunnen zij?

Droevig, bent u waarschijnlijk juist ik specifiek bekeek niet hen - hoewel u beter zou zijn van het gebruiken van vector aangezien dit kan.
http://www.cplusplus.com/reference/stl/vector/

>> En ik veronderstel wij nog het probleem met ambiguïteit hebben:
Waarom? er is geen ambiguïteit de twee aannemers en ondubbelzinnig, zet het slechts u de standaardwaarde op daar dat veroorzaakt de kwestie.
Andere oplossingen  
 
programming4us programming4us