Sök…


Introduktion

Detta beskriver vilken C-kod som kommer att bryta i en C ++ -kompilerare.

Reserverade nyckelord

Det första exemplet är nyckelord som har ett speciellt syfte i C ++: följande är lagligt i C, men inte C ++.

int class = 5

Dessa fel är enkla att fixa: bara byta namn på variabeln.

Svagt skrivna pekare

I C kan pekare kastas till ett void* , som behöver en uttrycklig roll i C ++. Följande är olagligt i C ++, men lagligt i C:

void* ptr;
int* intptr = ptr;

Att lägga till en uttrycklig rollspel gör det här arbetet men kan orsaka ytterligare problem.

gå eller växla

I C ++ får du inte hoppa över initialiseringar med goto eller switch . Följande är giltiga i C, men inte C ++:

goto foo;
int skipped = 1;
foo;

Dessa buggar kan kräva ny design.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow