Некоторые спецификации можно использовать только в описании функций. спецификация-fct: inline virtual Спецификация inline подсказывает транслятору, что необходимопроизвести подстановку тела функции вместо обычной реализациивызова функции. Подсказка может игнорироваться. В случае функций,не являющихся членами, спецификация inline дополнительно устанавливаетдля функции внутреннее связывание ($$R.3.3). Функция ($$R.5.2.2,$$R.8.2.5), определенная в описании класса, имеет по умолчаниюспецификацию inline. Функция-член со спецификацией inline должна иметь в точноститакое же определение в каждой единице трансляции, где она появляется. Функцию-член не обязательно явно описывать со спецификациейinline при описании класса, чтобы она трактовалась как подстановка.Если спецификации inline не было, связывание будет внешним,если только определение со спецификацией inline не появится передпервым вызовом функции. class X { public: int f(); inline int g(); // X::g() имеет внутреннее связывание int h(); }; void k(X* p) { int i = p->f(); // теперь X::f() внешнее связывание int j = p->g(); //... } inline int X::f() // ошибка: вызов до определения // как inline { //... } inline int X::g() { //... } inline int X::h() // теперь X::h() имеет внутреннее связывание { //... } Спецификация virtual может использоваться только в описанияхнестатических функций-членов при описании класса (см. $$R.10.2).