LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

Ну так получается будет возможность реализовать мой пример, потому что T в T = T(int) это указатель на функцию.

указатель или ссылку можно использовать, поскольку если тип T даже лишь forward объявлен, это автоматом порождает производный от него тип - указатель (а ссылка - частный случай указателя).

Потому указатель на незавершенный T сразу вводится в скоп как завершенный. Потому что сам указатель - завершен.

И дальше компилятор спокойно так с ним работает, пока его не разыменуют и не возьмут от него базу. А база оказывается еще не завершенной и тут будет ошибка.

Исходная версия alysnix, :

Ну так получается будет возможность реализовать мой пример, потому что T в T = T(int) это указатель на функцию.

указатель или ссылку можно использовать, поскольку если тип T даже forward объявлен, это автоматом порождает производный от него тип - указатель (а ссылка - частный случай указателя).

Потому указатель на незавершенный T сразу вводится в скоп как завершенный. Потому что сам указатель - завершен.

И дальше компилятор спокойно так с ним работает, пока его не разыменуют и не возьмут от него базу. А база оказывается еще не завершенной и тут будет ошибка.