2010-11-03 1 views
2

Как известно, C++ 0x не может принести много важных изменений из-за устаревшего кода: весь унаследованный код (включая код C) можно компилировать с помощью компилятора C++ 0x ,C++ 0x проблема с устаревшим кодом

Так почему бы не добавить что-то вроде #pragma syntax(language_version), что позволит использовать новый синтаксис с нарушением изменений?

#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++ не должны быть надлежащим надмножеством C, это никогда не связано с дизайном разработчиков языка C++, чтобы поддерживать 100% совместимость с C. –

ответ

0

Некоторые компиляторы C++ 0x могут это допускать. В конце концов, #pragmas, как правило, специфичны для компилятора и не продиктованы стандартом. Другие поддерживают это с помощью параметров командной строки.

Смежные вопросы