clientCount только увеличивается в этой области функций.Когда эта функция переходит к своему оператору возврата, все переменные и вся работа, которую она выполняла, полностью исчезают.
Вы передаете clientCount по значению, а не по ссылке, поэтому clientCount всегда будет равен 0, и приращение его внутри этой локальной функции фактически не изменит значение clientCount вне функции.
Что вам нужно сделать, это передать его по ссылке.
РЕДАКТИРОВАТЬ: выбранный ответ не объясняет, почему его решение работает.Предоставленный ответ неправильный.
Причина, по которой код работает, потому что вы снова передаете по ссылке, а не по значению.