Wpadłem na to pytanie podczas pisania man 2 open
. Mówi, że istnieją dwa rodzaje otwartych, jeden z dwoma argumentami i jeden z trzema! Ostatnim razem, gdy sprawdziłem, nie mogliśmy przeciążyć funkcji w C. Jak oni to zrobili? czy napisali w C++?Dlaczego "człowiek 2 otwarty" mówi, że istnieją dwa rodzaje otwartych?
int open(const char * pathname, int flags);
int open(const char * pathname, int flags, mode_t mode);
Jeśli kompilator zna POSIX lub zapoznał się z typami argumentów funkcji za pomocą jakiegoś rozszerzenia języka, może przeprowadzić sprawdzanie. Jeśli gcc/glibc jeszcze tego nie robi, nie zdziwiłbym się, gdyby dodali go wkrótce, tak jak sprawdza się argument "printf". –
Dzięki, to naprawdę pomogło. –