Рассмотрим этот код:
int function()
{
int a = 1 ;
int b = helper(&a);
return b ;
}
int main()
{
function();
return 0 ;
}
Этот фрагмент кода без проблем компилируется в объектный код с помощью gcc, несмотря на то, что функция под названием «помощник» не объявлена. Я знаю, что компоновщик должен поймать это, но я видел неясные ошибки , которые устранялись после включения правильных заголовков (, содержащих объявления функций ), несмотря на то, что компоновщик и компилятор не выдавали никаких ошибок.
Есть ряд предупреждений gcc, которые кажутся связанными, но на самом деле не достигают того, что я хочу:-Wmissing -прототипы, -Wmissing -декларации и -Wstrict -прототипы. К сожалению, эти предупреждения ограничены отсутствующими прототипами, когда глобальные функции определены , меня интересуют предупреждения об отсутствующих прототипах, когда ссылаются на глобальные функции .
Может ли кто-нибудь предложить альтернативы?, спасибо.