Здравствуйте, remark, Вы писали:
R>Как на стадии компиляции форсировать проверку возвращаемого значения функции? Или это не возможно?
R>Как ни странно на форуме ничего похожего не нашёл...
R>Например:
R>R>bool some_func();
R>if (some_func()); // компилируется
R>bool result = some_func(); // компилируется
R>some_func(); // не должно компилироваться
R>
Почемубы не параметр по ссылке?
void some_func(bool & result);
или
class Result
{
private:
bool value, isChecked;
public:
Result(bool v) : value(v), isChecked(false) { }
operator bool()
{
this->isChecked= true;
return this->value;
}
~Result()
{
if (!isChecked) { } // чего-то там...
}
};
Result some_func();