Здравствуйте, remark, Вы писали:
R>Как на стадии компиляции форсировать проверку возвращаемого значения функции? Или это не возможно?
R>Как ни странно на форуме ничего похожего не нашёл...
Предлагаю такую методу выявления списка мест, где игнорится возвращаемое значение твоего метода.
1)
Пишешь хеедр:
#ifdef __CHECK_STEP_1__
class CCheckResult {
public:
CCheckResult( bool f ) data( f ) {}
private:
bool data;
~CCheckResult() {}
};
#else
#ifdef __CHECK_STEP_2__
class CCheckResult {
private:
bool data;
~CCheckResult() {}
CCheckResult( bool f ) data( f ) {}
};
#else
typedef bool CCheckResult;
#endif
#endif
2)
Меняешь прототип твоего метода, чтобы он возвращаал CCheckResult
3) Компилишь последователоьно с макросом __CHECK_STEP_1__ и __CHECK_STEP_2__, оба раза сохраняя лог компиляции
4) Сравниваешь логи. Те места, где к ошибке на шаге 1 не добавилась ошибк ана шаге два -- очень подозрительные
5) Компилируешь всё вовсе без макросов __CHECK_STEP_1__ и __CHECK_STEP_2__
Или такой подход тебе тоже не катаит
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском