Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
#1

Объявление и определение функции - C++

09.02.2014, 07:18. Просмотров 347. Ответов 2
Метки нет (Все метки)

В учебнике такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
void somefunction(int);
 
int main()
{
 //неважно
}
 
void somefunction(int a)
{
//неважно
}
Собсно,в чём смысл объявлять прототип функции? Ведь в объявлении содержится вся информация и тело функции.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2014, 07:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объявление и определение функции (C++):

объявление и определение функции класса - C++
почему не компилируется #include <iostream> int main(){ class A { public: A(); // объявление конструктора

Объявление и определение классов - C++
Всем здрасти! Имеем простецкий код: class Node; class HeadNode; class TailNode; class Node { public: Node() {}

Объявление и определение шаблонного класса - C++
Добрый вечер, мастера :) Почему данный код вызывает проблемы у компилятора? // class.h template <typename T> class Name { ...

Нюансы терминологии и синтаксиса: объявление и определение - C++
Приветствую всех! Ребята, подскажите, что есть объявление структуры, а что есть определение структуры? Читал сайты, но на одном пишут,...

Объявление, определение и вызов двух функций - C++
//Программа должна включать в себя: объявление, определение и демонстрацию работы через вывозов двух функций : //а) Аргументы:...

Объявление и определение глобального массива структуры - C++
Есть структура struct DatSob { int year; // Год события int month; // Месяц события int day; // день события...

2
school_bot
14 / 12 / 3
Регистрация: 23.12.2013
Сообщений: 84
09.02.2014, 07:30 #2
можно реализацию писать после использования.
это важно, если у тебя есть 2 функции и каждая вызывает друг друга.
C++
1
2
3
4
5
6
7
8
void somefunction1(int a)
{
    somefunction2(1);
}
void somefunction2(int a)
{
    somefunction1(1);
}
Компилятор пишет: error C3861: somefunction2: идентификатор не найден
Но если:
C++
1
2
3
4
5
6
7
8
9
10
11
void somefunction2(int);
void somefunction1(int);
 
void somefunction1(int a)
{
    somefunction2(1);
}
void somefunction2(int a)
{
    somefunction1(1);
}
тут будет всё хорошо
1
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.02.2014, 11:18 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Игорюня Посмотреть сообщение
Собсно,в чём смысл объявлять прототип функции?
В данном случае, если прототип не объявлен до main(), а в main() делается вызов этой функции, то как компилятор узнает, что это за функция?
Можно обойтись без прототипа:
C++
1
2
3
4
5
6
7
8
9
10
void somefunction(int a)
{
//неважно
}
 
int main()
{
   somefunction(5);
//неважно
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2014, 11:18
Привет! Вот еще темы с ответами:

Чем отличается между собой объявление, инициализация и определение? - C++
То есть объявление может быть у переменной или функции и выглядеть к примеру так : int a; void func (int); .Но выделяется ли на этом этапе...

объявление функции - C++
допустим у меня есть программа она использует из библиотеке conio.h функцию getch() вот мне интересно как в программе подключить эту...

Объявление функции - C++
Завдання 1 Створити функцію яка приймає на вхід посилання на карту з ключем цілого типу,та значенням з плаваючою точкою. Другим...

Объявление функции - C++
Всем доброго времени суток! Подскажите пожалуйста, как правильно объявить функцию, которая возвращает указатель на двумерный массив. И...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru