Как я могу определить концепцию, которая ограничивается на основе возвращаемого значения функции contexPR?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как я могу определить концепцию, которая ограничивается на основе возвращаемого значения функции contexPR?

Сообщение Anonymous »

Предположим, я бы хотел написать функцию, которая принимает все, что я могу выполнить с размером ровно 2 . Как я могу написать концепцию для этого? Самое близкое, я думаю, я получил следующее: < /p>

Код: Выделить всё

#include 
#include 
#include 
#include 

template
concept RangeOfSize =
std::ranges::sized_range &&
requires (T i) { i.size() == N; }
;

void f(RangeOfSize auto&& r) { std::cout 
Ideally it would fail to compile on the second call to f
Потому что этот массив не 2 элемента длиной. В идеале это потерпит неудачу с ошибкой приятно прочитать, но я отказываюсь от надежды на это. ).

Подробнее здесь: https://stackoverflow.com/questions/794 ... -a-constex
Ответить

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

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

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

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

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