Подтвердить что ты не робот

Что мешает С++ быть строгим надмножеством C?

Возможный дубликат:
"C подмножество С++" → Где нет? примеры?

Я знаю, что С++ не является строгим надмножеством C. Какие языковые функции не позволяют С++ быть надмножеством C?

4b9b3361

Ответ 1

Слон в комнате: допустимо C, но не допустимо С++.

int typename = 1;

Замените свое любимое зарезервированное слово С++.

Ответ 2

С++ также не поддерживает массивы переменной длины, где:

int array[n];

действителен в C, но не С++. Версия С++ выше:

int *array = new int[n];
  ...
delete [] array;

Ответ 3

Существует специальная запись wiki, которая суммирует множество проблем.

Ответ 4

Простой пример: рассмотрите это объявление:

int f();

Это действительный C, но недействительный С++: f(3, 2, -5, "wtf");

Объяснение: в C, int f() рассматривается как int f(...) (по крайней мере, на первом сайте вызова). Объявите как int f(void), если вы не хотите, чтобы f принимал параметры.

Ответ 5

Один из моих ног - С++ не поддерживает по умолчанию int.