в этом случае, но это может быть как правильно, так и неправильно. Другая проблема заключается в том, что компилятор не знает, какого рода аргументы ожидает ваша функция, и не может предупредить вас, если вы передаете значения неправильного типа. Существуют специальные правила «продвижения», которые применяются при передаче, скажем, значений с плавающей запятой в необъявленную функцию (компилятор должен расширить их до типа double), что часто не соответствует ожиданиям функции, что приводит к трудностям в поиске ошибок. во время выполнения.

tp://www.learncpp.com/cpp-tutorial/19-header-files/Упоминается следующее:

add.cpp:

main.cpp:

int add(int x, int y)
{
    return x + y;
}

Мы использовали предварительное объявление, чтобы компилятор знал, что "

#include <iostream>

int add(int x, int y); // forward declaration using function prototype

int main()
{
    using namespace std;
    cout << "The sum of 3 and 4 is " << add(3, 4) << endl;
    return 0;
}

был при компиляцииadd, Как упоминалось ранее, написание предварительных объявлений для каждой функции, которую вы хотите использовать и которая находится в другом файле, может быстро утомить.main.cppВы можете объяснить "

предварительная декларация«Далее? В чем проблема, если мы используем его в функционировать?main()«Предварительная декларация» на самом деле просто декларация. Смотрите (конец) этого ответа:

Ответы на вопрос(8)

Ваш ответ на вопрос