Можно ли привязать объект типа класса к ссылке через параметр шаблона, не относящийся к типу, в C++20? ⇐ C++
Можно ли привязать объект типа класса к ссылке через параметр шаблона, не относящийся к типу, в C++20?
Рассмотрим следующий код:
оболочка структуры { 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.
р>
Рассмотрим следующий код:
оболочка структуры { 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.
р>
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Вычет аргумента шаблона класса, когда используется параметр шаблона, не относящийся к типу
Anonymous » » в форуме C++ - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Вычет аргумента шаблона класса, когда используется параметр шаблона, не относящийся к типу
Anonymous » » в форуме C++ - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Функция C++ как параметр, где ее параметр можно передать по значению или по ссылке.
Anonymous » » в форуме C++ - 0 Ответы
- 96 Просмотры
-
Последнее сообщение Anonymous
-