@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()
{...}
  • Вопрос задан
  • 334 просмотра
Решения вопроса 1
GavriKos
@GavriKos
Потому что компилятор (точнее его кусок - синтаксический анализатор вроде) смотрит код последовательно. И если он найдет использование фукнции раньше ее объявления - то не сможет понять правильно вы ее используете или нет. Можно конечно сделать несколько проходов - сначала собрать все функции, а потом проверять корректность - но это увеличит время проверки. Поэтому нужно сначала объявить прототип - дать понять компилятору что такая функция будет и с какими параметрами, а потом уже использовать.

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

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

Похожие вопросы
CTRL+ Москва
от 250 000 до 320 000 ₽
CTRL+ Москва
от 200 000 до 300 000 ₽
CTRL+ Белград
от 250 000 до 320 000 ₽
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час