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

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

Войти
Регистрация
Восстановить пароль
 
zheleznyak_oleg
13 / 13 / 1
Регистрация: 03.01.2011
Сообщений: 77
#1

Вызов функций - C++

23.03.2011, 21:31. Просмотров 672. Ответов 1
Метки нет (Все метки)

Всем привет! Слушайте, в проге которую я сейчас пишу несколько функций, и мне нужно по ходу работы программы вызывать другие функции. Из main() у меня получается вызвать любую функцию, а например из функции math() я не могу вызвать функцию menu() почему так, мне компилятор пишет error C3861: 'menu': identifier not found. То что вызвать main() нельзя я знаю но почему другие не вызываются, может код неправильный

if(end == 1)math();
if(end == 2)menu();
if(end == 3)exit(0);
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2011, 21:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вызов функций (C++):

Итерационные циклы,Определение и вызов функций,Использование библиотечных функций stdio.h - C++
Помогите решить задания: 1.Дано натуральное число n. Найти разность между первой цифрой этого числа и суммой всех остальных. ...

Передача значений функций в главную программу, вызов функций - C++
Здравствуйте! Скорее всего, неправильно передаю значения функциям и в главную программу. Помогите найти ошибку! В итоге выводит...

Вызов функций внутри других функций - C++
#include "stdafx.h" #include "stdio.h" #include <iostream> #include <fstream> #include <iomanip> using namespace std; ...

Вызов функций - C++
В одномерном массиве, состоящем из п целых элементов, вычислить: 1) номер максимального элемента массива; 2) произведение элементов...

Вызов функций - C++
Можно ли программно вызвать все функции записанные в файле?

Вызов функций - C++
Для чего нужны stdcall и cdecl? и как они работают? Спасибо=)

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ma3a
Эксперт C++
617 / 461 / 31
Регистрация: 28.01.2011
Сообщений: 605
23.03.2011, 22:34 #2
Убедитесь, что до того места, где вы вызываете функцию, у вас есть в коде описание этой функции.
Скорее всего, ситуация такого вида:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int math()
{
    ...
}
 
int menu()
{
    ...
}
 
int main()
{
    ...
}
Естественно, что вызывая menu или math в функции main всё будет ок, так как они были объявлены до вызова соответствующей функции, а вот если вы в приведенном примере попробуете вызвать из math функцию menu, то как раз будет указанная вами ошибка, так как определения функции menu на момент вызова из math еще не было, решается например объявлением прототипов функций заранее, как например здесь:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int math();
int menu();
 
int math()
{
    menu();
    ...
}
 
int menu()
{
    ...
}
 
int main()
{
    ...
}
В таком случае вызов menu из math пройдет успешно, так как прототип функции был объявлен заранее и компилятор знает, что есть такая функция под названием menu с указанной сигнатурой.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2011, 22:34
Привет! Вот еще темы с ответами:

Вызов функций - C++
Можно ли преобразовать строку, вводимою с консоли в вызов функции? То есть к примеру у меня предопределено несколько функций. С консоли...

Определение и вызов функций - C++
Всем привет. Записать алгоритм, проверяющий является ли заданное число простым как рекурсивную функцию. Вывести на экран все простые...

Затраты на вызов функций - C++
Тратится ли время и вообще "средства" компьютера на вызов функций? И если да то почему бы не писать программы сплошным текстом(как бы...

Вызов виртуальных функций - C++
Доброго времени суток, форумчане! Стоит такая задача: Есть класс, который содержит три чисто виртуальные функции, назовём его IClass. ...


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

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

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