Код идет первым:
void foo(int x)
{
void bar(int); //is this forward-decl legal?
bar(x);
}
void bar(int x)
{
//do stuff
}
В приведенном выше коде foo
вызывает bar
, обычно я ставлю forward-decl bar
вне foo
, например так:
void bar(int);
void foo(int x)
{
bar();
}
Во-первых, я думаю, что все в порядке, чтобы поместить bar
forward-decl внутрь foo
, верно?
Во-вторых, рассмотрите это, если bar
является static
функция, подобная этой:
static void bar(int x)
{
//do stuff
}
Тогда как мне это объявить вперед?Я имею в виду, должен ли forward-decl принять или опустить static
?