Как на стадии компиляции форсировать проверку возвращаемого значения функции? Или это не возможно?
Как ни странно на форуме ничего похожего не нашёл...
Например:
bool some_func();
if (some_func()); // компилируется
bool result = some_func(); // компилируется
some_func(); // не должно компилироваться
...возвращать прокси-объект...
...перегрузить operator bool()...
Дальше как-то мысля не идёт.
Как что бы не компилировалось приведение к bool очевидно, а как что-бы наоборот?
Исключения и проверку в ран-тайм не предлагать.