Может ли функция C иметь несколько подписей?
Возможный дубликат:
function overloading in CПриносим извинения, если это дубли, но 9X_function если это так, я не могу его найти.
Можно 9X_functions ли в C определить несколько функций с одним 9X_function и тем же именем, но с разными параметрами? Я 9X_c вырос в C#. В C# следующий код полностью 9X_functions допустим.
// Наша первая функция
int MyFunction() { //Code here return i; } int MyFunction(int passAParameter) { // Code using passAParameter return i; }
В моем конкретном 9X_def случае я хотел бы создать функцию с одним 9X_c необязательным параметром (это int) в конце 9X_c списка параметров. Можно ли это сделать?
- Нет, перегрузка функций не разрешена в C, но ...
Ответ #1
Ответ на вопрос: Может ли функция C иметь несколько подписей?
Нет. C не поддерживает перегрузку.
9X_function
- Если вы хотите увидеть, как это поддерживается в C++, используйте инструмент `nm` в unix-подобных ОС, и вы увидите, что символы, встроенные в ELF в C++, искажаются, а информация об их типе добавляется в имя с ...
Ответ #2
Ответ на вопрос: Может ли функция C иметь несколько подписей?
Нет. В строгом C вы не можете выполнять 9X_functions перегрузку.
Однако, учитывая, что большинство компиляторов 9X_function C также поддерживают C++, а C++ поддерживает 9X_functions перегрузку, есть большая вероятность, что 9X_def вы сможете выполнить перегрузку, если используете 9X_c основной компилятор C / C++.
Но он не является 9X_function строго стандартным или переносимым в среду 9X_function чистого C.
Ответ #3
Ответ на вопрос: Может ли функция C иметь несколько подписей?
Нет, вы должны использовать разные имена 9X_def для каждой функции (это неверно для C++, поскольку 9X_c он позволяет указывать необязательные параметры)
-
7
-
7
-
19
-
13
-
86
-
6
-
11
-
6
-
9
-
13
-
12
-
23
-
40
-
14
-
5
-
14
-
5
-
7
-
8
-
11
-
4
-
14
-
9
-
6
-
9
-
3
-
7
-
5
-
4
-
41
-
8
-
2
-
4
-
3
-
12
-
7
-
11
-
5
-
1
-
4
-
6
-
5
-
19
-
6
-
9
-
23
-
2
-
11
-
14
-
5