0

Предположим, что я хочу создать функцию first, которая возвращает первый элемент массива в C. Очевидно, что я хочу создать что-то, что учитывает все типы.Существует ли какая-либо перегрузка функции в C?

Я хотел бы начать с этого:

int first(int list[]) { 
    return list[0]; 
} 

, который работает. Очевидно ...

Теперь я хотел бы сделать то же самое для char

char first(char list[]) { 
    return list[0]; 
} 

Который не компилируется, поскольку есть уже first функция в программе.

Как вы, ребята, справляетесь с такими сценариями?

Есть ли у кого-то другое имя?

int first_int(int list[]) { 
    return list[0]; 
} 

char first_char(char list[]) { 
    return list[0]; 
} 
+0

Вы не можете сделать это в C. Он не делает этого, я боюсь. Вы должны объявлять отдельные функции. – Baldrick

+0

Вы можете уйти с '_Generic' в C11, хотя я не пробовал его для массива. – Evert

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^