История изменений
Исправление alysnix, (текущая версия) :
Ну так получается будет возможность реализовать мой пример, потому что T в T = T(int) это указатель на функцию.
указатель или ссылку можно использовать, поскольку если тип T даже лишь forward объявлен, это автоматом порождает производный от него тип - указатель (а ссылка - частный случай указателя).
Потому указатель на незавершенный T сразу вводится в скоп как завершенный. Потому что сам указатель - завершен.
И дальше компилятор спокойно так с ним работает, пока его не разыменуют и не возьмут от него базу. А база оказывается еще не завершенной и тут будет ошибка.
Исходная версия alysnix, :
Ну так получается будет возможность реализовать мой пример, потому что T в T = T(int) это указатель на функцию.
указатель или ссылку можно использовать, поскольку если тип T даже forward объявлен, это автоматом порождает производный от него тип - указатель (а ссылка - частный случай указателя).
Потому указатель на незавершенный T сразу вводится в скоп как завершенный. Потому что сам указатель - завершен.
И дальше компилятор спокойно так с ним работает, пока его не разыменуют и не возьмут от него базу. А база оказывается еще не завершенной и тут будет ошибка.