в Си нет такого понятия, но, вроде как, это можно сделать с помощью макросов\функций с переменным числом аргументов. У меня есть функция int attach_object(int* reg, int* id) мне нужно добавить функцию int attach_object(int* reg, int* id, const char* name) Поскольку я не могу использовать перегрузку функций и параметры по умолчанию в Си, то нужно как-то извратиться типа использовать функцию с переменным числом аргументов int attach_object(int* reg, int* id, ...)Но как мне узнать внутри, что пользователь передал туда еще и имя объекта?
Посмотри _Generic
Посмотри как в курле реализована перегрузка
А можно название функции в курле? А то листаю гитхаб с исходниками курла и пока не могу найти
curl_easy_setopt как то так
а что там перегружено? 0_o
Эта функция и перегружена
нет там перегрузки
curl_easy_setopt ? Там просто, вроде, функция с переменным число аргументов
Ну дак через это и делается там перегрузка
В нее передается option, который парсится и в зависимости от этого узнается число аргументов. У меня нет такой возможности
это не перегрузка. это функция с переменным числом аргументов.
Эта штука? https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D0%B5%D0%B4%D0%B8%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%85%D0%BE%D0%B4%D0%B0
Ну дак что ты ещё от Си ожидал?
Другими словами перегрузка. Функция, которая имеет одно и тоже название, но имеет разные возвращаемые значения, аргументы является перегрузкой функции
Тогда есть ещё какая то всратость - https://en.cppreference.com/w/c/language/generic Больше костылей не знаю, выкинь С - юзай С++
я ожидал от С++-программистов, что они не будут путать вариативные функции с перегрузкой функций. от Си я не ожидаю перегрузки функций, так как её там нет.
Её нет, но сишникам так хочется её, что они готовы костылями её эмулировать
Я нашел еще вот такое: http://locklessinc.com/articles/overloading/ - но что то не могу никак прикрутить то что тут есть, к моей задаче. С удовольствием выкинул бы Си и юзал С++, но это по работе надо, а там нет пока такой возможности.
хрен его знает. я хоть и си-шник по большей части, но такой хернёй почему-то не страдаю
Обсуждают сегодня