C++
C incompatibilités
Recherche…
Introduction
Cela décrit ce que le code C va casser dans un compilateur C ++.
Mots-clés réservés
Le premier exemple est constitué de mots-clés ayant une utilité particulière en C ++: les éléments suivants sont légaux en C, mais pas en C ++.
int class = 5
Ces erreurs sont faciles à corriger: renommez simplement la variable.
Pointeurs faiblement typés
En C, les pointeurs peuvent être convertis en un void*
, qui nécessite une conversion explicite en C ++. Ce qui suit est illégal en C ++, mais légal en C:
void* ptr;
int* intptr = ptr;
L'ajout d'une distribution explicite fait que cela fonctionne, mais peut causer d'autres problèmes.
aller ou changer
En C ++, vous ne pouvez pas ignorer les initialisations avec goto
ou switch
. Ce qui suit est valide en C, mais pas en C ++:
goto foo;
int skipped = 1;
foo;
Ces bogues peuvent nécessiter une refonte.
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow