Zoeken…


Invoering

Dit beschrijft welke C-code zal breken in een C ++ compiler.

Gereserveerde zoekwoorden

Het eerste voorbeeld zijn trefwoorden met een speciaal doel in C ++: het volgende is legaal in C, maar niet C ++.

int class = 5

Deze fouten zijn eenvoudig op te lossen: hernoem gewoon de variabele.

Zwak getypte wijzers

In C kunnen verwijzingen naar een void* worden gegoten, waarvoor een expliciete cast in C ++ nodig is. Het volgende is illegaal in C ++, maar legaal in C:

void* ptr;
int* intptr = ptr;

Als u een expliciete cast toevoegt, werkt dit, maar kan dit verdere problemen veroorzaken.

ga naar of schakel over

In C ++ mag u initialisaties met goto of switch niet overslaan. Het volgende is geldig in C, maar niet C ++:

goto foo;
int skipped = 1;
foo;

Deze bugs moeten mogelijk opnieuw worden ontworpen.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow