Предположим, что я хочу создать функцию 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];
}
Вы не можете сделать это в C. Он не делает этого, я боюсь. Вы должны объявлять отдельные функции. – Baldrick
Вы можете уйти с '_Generic' в C11, хотя я не пробовал его для массива. – Evert