LINUX.ORG.RU

История изменений

Исправление Dron, (текущая версия) :

#include<stdio.h>
void foo()
{

   return;

}

int main()
{

   foo();

}

dron@gnu:~$ gcc ./test.c --std=c99 -Wall -pedantic 
dron@gnu:~$ gcc ./test.c --std=c11 -Wall -pedantic 
dron@gnu:~$ gcc ./test.c --std=c89 -Wall -pedantic 
./test.c: In function ‘main’:
./test.c:21:1: warning: control reaches end of non-void function [-Wreturn-type]
dron@gnu:~$ 


Если верить этому то сейчас(с99,с11) выходить return`ом в произвольном месте нормально, а вот раньше наверное подразумевалось не писать void функций которые не отрабатывают полностью или оперировать if`ами, исключениями.

Исходная версия Dron, :

#include<stdio.h>
void foo()
{

   return;

}

int main()
{

   foo();

}

dron@gnu:~$ gcc ./test.c --std=c99 -Wall -pedantic 
dron@gnu:~$ gcc ./test.c --std=c11 -Wall -pedantic 
dron@gnu:~$ gcc ./test.c --std=c89 -Wall -pedantic 
./test.c: In function ‘main’:
./test.c:21:1: warning: control reaches end of non-void function [-Wreturn-type]
dron@gnu:~$ 


Если верить этому то сейчас(с99,с11) выходить return`ом в произвольном месте нормально, а вот раньше наверное подразумевалось не писать void функций которые не отрабатывают полностью или оперировать if`ами исключениями.