Как создавать контракты C++, которые компиляторы смогут использовать, как только появится поддержка (например, `float f(C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как создавать контракты C++, которые компиляторы смогут использовать, как только появится поддержка (например, `float f(

Сообщение Anonymous »

Должны ли вы использовать макрос для обертывания этого (плюс надеюсь, что тот, кто будет использовать ваш код годы спустя, знает, что нужно переопределить макрос для создания контрактов), например

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

#define CONTRACT(text) /* TODO */
int f(int x) CONTRACT([[expects: x >= 2]]);
?
Думаю, что синтаксис атрибута Contract близок к #pragma (так что компиляторы без поддержки проигнорируют это)
но [[ожидает: cns.isInitialized()]]; выдает ошибку: ожидаемо ','
Почему нереализованный #pragma X< /code> не выдает таких ошибок?
Можно ли это сделать как прагмы?
Контракт Ссылки:
https://www.open-std.org/jtc1/sc22/wg21 ... 388r4.html
https://www.open-std .org/jtc1/sc22/wg21/docs/papers/2022/p2521r2.html
https://github.com/doxygen/doxygen/issues/6702
Ошибки Termux g++

Подробнее здесь: https://stackoverflow.com/questions/785 ... s-for-this
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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