В C ++ нельзя перегружать функции в зависимости от типа возвращаемого значения.
Разрешение перегрузки учитывает имя функции, cv-квалификаторы, количество параметров и их типы.
Вы можете сделать что-то вроде:
auto fck()
{
if constexpr(...) return my_int;
else /* do smth without return */
}
, но это, конечно, не перегрузка функции.