В результате программа выглядит следующим образом:
Код: Выделить всё
#include
std::expected f() {
return {};
}
int main() {
f();
}
предупреждение C4834: отбрасывание возвращаемого значения функции с атрибутом [[nodiscard]]
Я знаю, что игнорирование std::expected не является хорошей практикой, но наша кодовая база велика, и быстро изменить все такие места сложно.
Я могу отключить предупреждение, написав здесь (void)f(). Но опять же, требуется изменить каждое такое место вызова, а их может быть слишком много.
Есть ли способ удалить атрибут [[nodiscard]] из std::expected в Microsoft STL, но сохранить атрибут для других функций и классов в стандартной библиотеке?
Подробнее здесь: https://stackoverflow.com/questions/796 ... tdexpected
Мобильная версия