Параметр шаблона ожидайте ошибки в соответствии с P0522 и CPPREEFERFEREFERES, но нетC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Параметр шаблона ожидайте ошибки в соответствии с P0522 и CPPREEFERFEREFERES, но нет

Сообщение Anonymous »

Я знаю, это название-просто слово суп, но я не могу правильно сформулировать свой вопрос.template struct i {};
template struct f {};
template struct fi {};

template struct catch_all {};

// I want to be able to use it like this
catch_all{};
catch_all{};
catch_all{};
< /code>
Я попробовал этот код с MSVC, Clang и GCC, и все они принимают его, а также делать то, что я хочу.template struct SI { /* ... */ };
template void FA(); // note: C++17
FA(); // Error
< /code>
< /blockquote>
Похоже, что он взят непосредственно из P0522. Я попытался прочитать и CPPREEFERFERENCE, и бумагу и не мог понять, почему это не разрешено. Поэтому я скопировал этот код в Godbolt, надеясь, что ошибка компилятора прояснит некоторые вещи, но все компиляторы с радостью приняли этот код. Я делаю что -то не так? Я сейчас сбит с толку. Все они все приняли. И я лично хотел бы, чтобы этот код был действительным.

Подробнее здесь: https://stackoverflow.com/questions/787 ... t-there-is
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»