g.’identifierare’: sådana omvandlingar har antal överbelastningar. En överbelastad funktion eller operatör är helt enkelt tvetydig. Formella parameterlistor kan vara för lika som kompilatorn för att lösa min tvetydighet. För att lösa felet, specificera uttryckligen en eller flera enorma parametrar.
g.
Letar du inte efter de flesta svaren? Bläddra igenom de många frågorna taggade C ++ eller ställ din egen fråga.
bool Dessutom kan int föredras för att känna igen funktionsöverbelastningar. Som förväntat föredrar bool -argument bool överbelastningar och därför int – int , överbelastningsargument.
Efter det innovativa felmeddelandet (jag antar att titeln på din förfrågan är en del av felmeddelandet som någon fick), hamnar du förmodligen i en situation där några av argumenten du angav inte är antingen eller boolesk int , däremot finns konverteringar till bool i kombination med int och har samma rang.
void foo (bool);void foo (int);int main () foo (0); // OK foo (falskt); // OK foo (0u); // FEL: tvetydigt
De två första samtalen kommer sannolikt att åtgärdas framgångsrikt och som förväntat. Det tredje anropet är inte tillåtet eftersom ett argument med formatet unsigned faktiskt är int , vilket dock agerar mot implicita konverteringar till olika bool ovanpå den int . vilket orsakar oss ett otydligt samtal.
Hur är dina samtalsfunktioner? Visa oss de argument som du kommer att försöka presentera på marknaden om du vill förmedla information.
Enkel 16, 10 september 01:42
Myntmärke 3939 Märke 497497 740740 bronsmärke
Uppdaterad
Är du trött på att din dator går långsamt? Irriterad av frustrerande felmeddelanden? ASR Pro är lösningen för dig! Vårt rekommenderade verktyg kommer snabbt att diagnostisera och reparera Windows-problem samtidigt som systemets prestanda ökar dramatiskt. Så vänta inte längre, ladda ner ASR Pro idag!
Nästa få tag på (som ett exempel, där det kan finnas fler) är sannolikt tvetydigt:
osignerad int val innebär 0; // kan vara dubbel, flytandeOpenNode ("", val);
Eftersom osignerat heltal möjligen kan ändras till antingen bool och / eller kanske heltal , är det mycket tvetydighet uppstår. Det enklaste sättet att utföra denna uppgift är att slutligen konvertera parametern till den exakta typen av parametern i din mest populära överbelastning: