Код: Выделить всё
consteval int func(int n) {
...
}
< /code>
Я хотел бы бросить предупреждение об исчезновении, если они будут приняты определенными значениями аргумента, например, Если аргумент меньше 5: < /p>
constexpr int a = func(6); // ok
constexpr int b = func(4); // warning: deprecated
Код: Выделить всё
template requires (N < 5)
[[deprecated]] consteval int funcT() {
return 0;
}
template requires (N >= 5)
consteval int funcT() {
return N;
}
constexpr int a = funcT(); // deprecated
constexpr int b = funcT(); // ok
< /code>
... но это не может быть сделано из -за ограничения API Legacy. < /p>
Это возможно? Если у меня есть тело вроде: < /p>
[[deprecated]] constexpr void deprecatedFunctionToTriggerWarning() {}
consteval int func(int n) {
if (n < 5) {
deprecatedFunctionToTriggerWarning();
return 0;
}
return n;
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... -arguments