Ваша логическая ошибка в вашем другом ответе уже была объяснена другими. Позвольте мне объяснить вам еще раз, учитывая это утверждение:
Спецификаторы простого типа указывают либо ранее объявленный пользовательский тип, либо один из основных типов.
Это не означает, что существуют простые спецификаторы типов для всех основных типов. Это просто означает, что каждый спецификатор простого типа (или их комбинация - я думаю, это предложение не очень понятно) указывает либо определенный пользователем тип, либо один из фундаментальных типов. Это утверждение также применимо к следующим «спецификаторам выборки»:
sample-specifier:
int
class-name
Каждый из моих спецификаторов выборки указывает либо ранее объявленный пользователем определенный тип, либо один из основных типов (в моем случае это int
). Это не означает, что все ранее объявленные пользовательские типы могут быть обозначены, равно как и все основные типы могут быть обозначены. Теперь, если в другом параграфе Стандарта сказано, что type()
работает для type
как спецификатор простого типа, это не означает, что он также должен работать для их комбинации. Это совершенно неверное заключение.
Это как когда я говорю "десятичные цифры указывают исключительно числа от 0 до 9", а вы говорите "вы не правы, потому что они не могут указать число 10". Но то, что вы сделали, это взяли комбинацию из двух цифр, а затем заявили что-то, чего я никогда не говорил. Я думаю, что это довольно четкая логическая ошибка, которую вы делаете.