2010-11-03 7 views
2

Comme tout ce que vous savez, C++ 0x ne peut pas apporter beaucoup de changements importants à cause du code existant: tout le code existant (y compris le code C) peut être compilable avec un compilateur C++ 0x .Problème de code hérité C++ 0x

Alors pourquoi ne pas ajouter quelque chose comme #pragma syntax(language_version), ce qui permettra une nouvelle syntaxe avec des changements de rupture?

#include <legacy_code_header.h> 

#pragma syntax(2098) 

// something strange 
func(x) 
{ 
    return x + 1, x * 2; 
} 

int main() 
{ 
    a, b = func(1.0); 
    return a + b; 
} 
+0

C++ ne sont pas destinés à être un sur-ensemble correct de C, les concepteurs de langage C++ ne doivent jamais se soucier de la conception pour maintenir une compatibilité à 100% avec C. –

Répondre

0

Certains compilateurs C++ 0x peuvent le permettre. Après tout, les #pragmas sont généralement spécifiques au compilateur et ne sont pas dictées par la norme. D'autres le supportent avec des options de ligne de commande.