-
- int foo(){}; - просто ошибка. Здесь функция имеет пустое тело {}, а
должна возвращать int, то есть тело должно как минимум содержать {
return 0; }. Нужно различать declaration (прототип) и definition
(определение). int foo(); - прототип, точка с запятой нужна. int
foo() { return 0; } - определение, точка с запятой после } не
нужна. - йцyкeн(12.09.2020 23:36)
- OK - teap0t(13.09.2020 11:57)
- *.c и *.h -- это просто соглашение. Бывает же .cpp, .cxx, .hpp и
т.д. Советую заучить, что делает #include "filename", без этого
знания жить нельзя. - SciFi(11.09.2020 15:32)
- Не, это знаю, но все ведь включают хедеры а не исходник. Значит,
если хедера нет, то функция не видна, даже если объявлена в "*.c" ? - teap0t(11.09.2020 15:35)
- Есть как минимум 2 аспекта "видимости функции". 1) Прототип функции
(обычно содержится во включенном заголовочном файле) позволяет
компилятору сверять типы аргументов и возвращаемого значения при
вызове. 2) Видимость при линковке (наличие функции в одном из
объектных файлов, включенных в процесс линковки). Функцию можно
вызывать и без прототипа (с оговорками). - SciFi(11.09.2020 15:52)
- ОК - teap0t(11.09.2020 15:57)
- можно Nikolay801_(269 знак., 11.09.2020 15:47)
- Есть как минимум 2 аспекта "видимости функции". 1) Прототип функции
(обычно содержится во включенном заголовочном файле) позволяет
компилятору сверять типы аргументов и возвращаемого значения при
вызове. 2) Видимость при линковке (наличие функции в одном из
объектных файлов, включенных в процесс линковки). Функцию можно
вызывать и без прототипа (с оговорками). - SciFi(11.09.2020 15:52)
- Не, это знаю, но все ведь включают хедеры а не исходник. Значит,
если хедера нет, то функция не видна, даже если объявлена в "*.c" ? - teap0t(11.09.2020 15:35)
- int foo(){}; - просто ошибка. Здесь функция имеет пустое тело {}, а
должна возвращать int, то есть тело должно как минимум содержать {
return 0; }. Нужно различать declaration (прототип) и definition
(определение). int foo(); - прототип, точка с запятой нужна. int
foo() { return 0; } - определение, точка с запятой после } не
нужна. - йцyкeн(12.09.2020 23:36)