Похоже, что в C++ extern
(NOT, за которым следует литерал строки языка) не имеет никакого отношения к объявлениям функций в области пространства имен (Difference between declaration of function with extern and without it). Но имеет ли он какое-либо влияние на объявления функций области блока? Или это объявление локальной функции без extern
, всегда эквивалентное одному с extern
?Разница между объявлением функции local/block-scope функцией с extern и без нее
namespace {
void f() {
extern void g(); // has external linkage
g();
}
void f2() {
void g(); // always the same, as if, without extern
g();
}
}
Спасибо!
Зачем вам объявлять функцию внутри функции? Как вы думаете, что он делает? –
Противоположность extern - static - 'static void g(); // внутренняя связь. –
@underscore_d проверить http://stackoverflow.com/questions/1034606/is-there-any-use-for-local-function-declarations – EulersRainbow