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

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

Войти
Регистрация
Восстановить пароль
 
FarStar
Заблокирован
#1

Функция в функции :-) - C++

21.06.2013, 14:34. Просмотров 328. Ответов 8
Метки нет (Все метки)

Привет! Задался дурацким вопросом
Можно ли создать функцию внутри функции, чтоб её вызывать там всё время? Например:
C++
1
2
3
4
5
6
void Main()
{
    void Child(){std::cout << "DIE YOU SON OF A ...." << std::endl;}
    ....
    //а где то в коде просто её вызывать типо Child(); Child();  :-)
}
Не спрашивайте зачем мне этот бред, просто интересно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2013, 14:34     Функция в функции :-)
Посмотрите здесь:

оформить решение в виде функции следующими способами: 1. функция расположена после ее вызова; 2. функция расположена после до ее вызова; 3. функ - C++
оформить решение в виде функции следующими способами: 1. функция расположена после ее вызова; 2. функция расположена после до ее...

функция в функции y = e^x cos x - C++
как можно написать функцию в функции к примеру y = ex cos x ?

Шаблон функции и шаблонная функция - C++
Какая разница между шаблоном функции и шаблонной функцией?

Функция strncpy_s - объяснить аргументы функции - C++
strncpy_s(str1, x, str2, y); правильно ли я понимаю что: str1 - куда копируем; str2 - что копируем; y - max размер буфера, для...

Функция как аргумент другой функции - C++
Добрый вечер, уважаемые. Собственно, пытаюсь функцию запихнуть в аргументы другой функции. На подобии маткадовского root(f(x),x,a,b)....

Рекурсивная функция и передача аргументов функции - C++
Помогите пожалуйста!!!!! Пропустила занятие, а разобраться не получается!!!!!!!!А нужно на завтра!!!! Написать рекурсивную функцию...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DlTA
1 / 1 / 0
Регистрация: 21.06.2013
Сообщений: 26
21.06.2013, 14:36     Функция в функции :-) #2
а накодить и попробовать?
-=ЮрА=-
Заблокирован
Автор FAQ
21.06.2013, 14:42     Функция в функции :-) #3
@FarStar, корректно будет передавать указатель на функцию и вызывать её в теле.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
void fun1(const char * msg, void (*f)(const char * str));
void fun2(const char * msg);
 
int main()
{
    fun1("text for fun2", fun2);
    return 0;
}
 
void fun1(const char * msg, void (*f)(const char * str))
{
    f(msg);
}
 
void fun2(const char * msg)
{
    cout<<msg<<endl;
}
Миниатюры
Функция в функции :-)  
m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,256
Завершенные тесты: 2
21.06.2013, 14:46     Функция в функции :-) #4
таки нельзя )

Добавлено через 2 минуты

Не по теме:

declare foo as array of array 8 of pointer to pointer to function returning pointer to array of pointer to char

FarStar
Заблокирован
21.06.2013, 14:47  [ТС]     Функция в функции :-) #5
нее фишка как раз в том, чтоб объявлять функцию именно внутри функции, а не снаружи, чтоб никто больше о ней не знал, т.к. она будет разная для всех функций )))
igorrr37
1644 / 1272 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
21.06.2013, 14:50     Функция в функции :-) #6
можно через функтор
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
void F()
{
    struct Str
    {
        void operator()(char const* const pstr) const
        {
            std::cout << pstr << "\n\n";
        }
    };
 
    Str str;
    str("fg fg");// вызов
    str("vb vb");// вызов
}
 
int main()
{
    F();
    return 0;
}
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
21.06.2013, 15:29     Функция в функции :-) #7
Цитата Сообщение от igorrr37 Посмотреть сообщение
можно через функтор
не обязательно функтор, любой вложенный класс подойдет.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.06.2013, 15:30     Функция в функции :-) #8
Цитата Сообщение от FarStar Посмотреть сообщение
нее фишка как раз в том, чтоб объявлять функцию именно внутри функции
Объявлять можно, определять нет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2013, 15:57     Функция в функции :-)
Еще ссылки по теме:

Не работает функция gets(), strcpy() и другие функции с строками - C++
Подключеные библиотеки все. MVS 2013. #include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;cctype&gt; using namespace std; int...

Функция в качестве аргумента другой функции по умолчанию - C++
Здравствуйте, поясню немного заголовок. Аргумент функции по умолчанию: void function ( int a=0 ) { ... } Функция в качестве...

что делает size_t в данной функции, и сама функция - C++
string toString() { stringstream buffer; for (size_t i = 0; i &lt; left.size() - 1; i++) buffer &lt;&lt; left &lt;&lt; &quot;,&quot;; buffer &lt;&lt;...

Функция вне класса для передачи функции объекта - C++
Добрый вечер, уважаемые форумчане. Столкнулся с таким пунктом в условии задания: Создать функцию вне класса для передачи функции...


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

Или воспользуйтесь поиском по форуму:
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
21.06.2013, 15:57     Функция в функции :-) #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
void func()
{
    auto nested_func = []()
    {
        std::cout << "nested_func\n";
    };
 
    nested_func();
}
 
int main()
{
    func();
}
Yandex
Объявления
21.06.2013, 15:57     Функция в функции :-)
Ответ Создать тему
Опции темы

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