2016-10-19 4 views
0

В этом примере будет называться деконструктор несуществующего объекта. G ++ версия 5.3, компиляция с помощью -Werror.force C++ компилятор для проверки возвращаемого значения

vector<vector<float>> segfault() 
{ 

} 

int main() 
{ 
    segfault(); 
    return 0; 
} 
+0

Это не скомпилировано с флагом '-Werror'. Он делает это без этого флага, потому что неотрицательная функция, которая является непустой, является просто предупреждением, а не ошибкой. –

+2

'-Wall' добавляет предупреждение о отсутствии оператора return; в сочетании с '-Werror', который будет рассматриваться как ошибка, поэтому код не будет компилироваться. –

+0

** - Werror = return-type ** работаю, спасибо. – biv

ответ

2

Оба gcc и clang имеют возможность -Wreturn-type.
Включается неявно при использовании -Wall.
Чтобы сделать это ошибкой компилятора, используйте -Werror=return-type.

Смежные вопросы