LINUX.ORG.RU

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

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

Я не понимаю зачем мы это обсуждаем, давай заново. Почему недопустимо это определение типа?

typedef T = T (*)(void);
Допустим нету никаких указателей, а тип представляет собой описание некого хранилища, в которое можно записать метку функции, совместимой по сигнатуре.

«Метка» как и полагается по стандарту С, может быть записана от какой угодно функции, и происходить в рантайме, так, что компилятору заранее неизвестно какую именно функцию запишут в «указатель на функцию».

Исправление MOPKOBKA, :

Я не понимаю зачем мы это обсуждаем, давай заново. Почему недопустимо это определение типа?

typedef T = T (*)(void);
Допустим нету никаких указателей, а тип представляет собой описание некого хранилища, в которое можно записать метку функции, совместимой по сигнатуре.

Метка как и полагается по стандарту С, может быть записана от какой угодно функции, и происходить в рантайме, так, что компилятору заранее неизвестно какую именно функцию запишут в «указатель на функцию».

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

Я не понимаю зачем мы это обсуждаем, давай заново. Почему недопустимо это определение типа?

typedef T = T (*)(void);
Допустим нету никаких указателей, а тип представляет собой описание некого хранилища, в которое можно записать метку функции, совместимой по сигнатуре.