C++ does not support the nested functions. However, you can use local classes to simulate the effects of nested functions.
Take the scenario given below:
int get_1 (int y)
{
int i = 9;
int get_2(int j)
{
return j + i;
}
i+=y;
return get_2(9);
}
Using local classes, you'd do it like this:
int get_1 (int y)
{
int i = 9;
class Local
{
public:
int operator () (int h)
{
return r + h;
}
int r;
}local;
local.r = i + y;
return local(9);
}