C - управление достигает конца не пустой функции

Я пишу многопоточную программу, а для метода pthread_create требуется функция void*.

Я получаю предупреждение "контроль достигает конца недействительной функции", и я понимаю, почему (потому что у меня нет никакого официального оператора return)- мой вопрос действительно состоит в том, что я должен вернуть в этом случае?

Можно ли просто вернуть NULL? Я не думаю, что мое возвращаемое значение повлияет на что-либо еще в моей программе, но мне просто интересно, каков стандарт для того, чтобы избегать этого предупреждения при программировании с многопоточными программами.

2 ответа

Решение

Возврате NULL это нормально, и это нормальный способ. Ничто не будет использовать возвращаемое значение, если вы не напишите код для его использования. NULL является допустимым значением для void *и если вам все равно, что это за значение, то единственное, что имеет значение, это то, что оно является действительным.

Попробуйте что-то вроде этого:

#include <pthread.h>

void* you_func( void* param ) {
   // do stuff here ...
   // and terminates as follows:
   pthread_exit( NULL );
}

надеюсь, что это поможет вам.

Другие вопросы по тегам