@OwerFan

Зачем нужно объявлять функцию, которую я буду использовать далее по коду?

Зачем нужно писать char **AddPtr (char **pp, int size, char *str); перед точкой входа?

#include <iostream>;
#include <string.h>;
 
using namespace std;
 
char **AddPtr (char **pp, int size, char *str); //прототип функции
 
int main()
{...}
  • Вопрос задан
  • 259 просмотров
Решения вопроса 1
GavriKos
@GavriKos
Потому что компилятор (точнее его кусок - синтаксический анализатор вроде) смотрит код последовательно. И если он найдет использование фукнции раньше ее объявления - то не сможет понять правильно вы ее используете или нет. Можно конечно сделать несколько проходов - сначала собрать все функции, а потом проверять корректность - но это увеличит время проверки. Поэтому нужно сначала объявить прототип - дать понять компилятору что такая функция будет и с какими параметрами, а потом уже использовать.

Конкретно расположение относительно main тут ни при чем.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы