|
||||
|
15.2 Сводка Несовместимостей Большинство конструкций C допустимы в С++ без изменения их смысла. Исключения из этого следующие: Программы, использующие одно из новых ключевых слов class const delete friend inline new operator overload public signed this virtual volatile как идентификаторы, недопустимы. Описание функции f(); означает, что f не получает парметров, в C же это значит, что f может получать параметр свершенно любого типа. В C внешнее имя может определяться несколько раз, а в С+ + оно должно быть определено ровно один раз. Имена классов в С++ находятся в том же пространстве, что и прочие имена, поэтому конструкции вроде int s; struct s (* /* ... */ *); f() (* s = 1; *) использоваться не могут. Однако, для разрешения болшинства конфликтов может применяться явное использование class, struct, union, enum (#8.2) или :: (#7.1). Например: int s; struct s (* /* ... */ *); void f() (*int s; struct s a; *) void g() (* ::s = 1; *) |
|
||