Можно ли привязать объект типа класса к ссылке через параметр шаблона, не относящийся к типу, в C++20?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Можно ли привязать объект типа класса к ссылке через параметр шаблона, не относящийся к типу, в C++20?

Сообщение Anonymous »


Рассмотрим следующий код:

оболочка структуры { int& ссылка; оболочка constexpr(int& ref): ref(ref) {} }; шаблон недействительный fun1() {} шаблон недействительный fun2() { fun1(); } интервал основной() { статический интервал val = 22; fun2(); } fun2() принимает класс в качестве параметра шаблона, не являющегося типом, а fun1() принимает ссылку на пересылку на любой объект, передаваемый в это.

Вышеуказанное не может скомпилироваться в GCC с ошибкой, показанной ниже, но прекрасно компилируется в Clang.

:11:12: ошибка: адрес «wrapper{val}» не является допустимым аргументом шаблона. 11 | fun1(); | ~~~~~~~^~ Какой компилятор здесь прав? Предполагается ли это ошибка в любом из двух компиляторов?

Я пытался изменить template на template , но безуспешно, так как это не помогло как в GCC, так и в Clang.
р>
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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