Здравствуйте! Мне на учебе дали задание, чтобы я из одной функции вызвал другую, но сделал ее не очевидным способом. Дали подсказку: затереть ссылку возврата, но не совсем понятно как это реализовать можно?
Вот ошибочный пример:
#include <iostream>
using namespace std;
void bar(){
cout << "bar" << endl;
}
void foo(){
bar(); // это не правильно, так как явно вызвали сами, а нужно как-то вклинить в эту функцию
cout << "foo" << endl;
}
int main(){
foo(); // сделать должна быть вызвана bar(), хотя вызывали foo
return 0;
}
Нашел в интернете только картинку, как память выглядит с этими ссылками возврата, но опять же, как реализовать можно механизм такой, подскажите?
То есть, должно работать так:
#include <iostream>
using namespace std;
void bar(){
cout << "bar" << endl;
}
void foo(){
cout << "foo" << endl;
}
int main(){
foo(); // тут должен быть вызван bar(), хотя вызывали foo
// что для этого можно сделать?
return 0;
}