Как сделать концепцию сбои с пользовательским сообщением об ошибке (C ++ 20)C++

Программы на C++. Форум разработчиков
Anonymous
Как сделать концепцию сбои с пользовательским сообщением об ошибке (C ++ 20)

Сообщение Anonymous »

Концепции великолепны для определения ошибки в строке кода, где «ограничение не было удовлетворено» . Перебрать к статику static_assert была именно такой возможностью. Использование: любая библиотека, которая хочет помочь пользователю выяснить, почему определенное выражение не удовлетворяло ограничения. Вы можете утверждать, что любой полугодный «пользователь» должен быть в состоянии выяснить заметку компилятора », потому что 'is_base_of ', оцененная на false» , но более пользовательская информация не может повредить. Будут более сложные концепции наверняка. < /P>

template
concept is_base_of = std::is_base_of_v;

template
struct BaseWrapper { };

int main()
{
class Base {};
class Derived : public Base {};
class C {};

using T1 = BaseWrapper;
using T2 = BaseWrapper; // fails right here, but a custom message would be nice
}



Подробнее здесь: https://stackoverflow.com/questions/635 ... essage-c20

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