Es scheint, dass in C++ extern
(NICHT gefolgt von einer Sprache-Verknüpfung Zeichenfolge literal) keinen Unterschied auf Funktionsdeklarationen bei Namespace-Bereich (Difference between declaration of function with extern and without it). Aber hat es irgendwelche Auswirkungen auf Block-Scope-Funktionsdeklarationen? Oder ist eine lokale Funktionsdeklaration ohne extern
immer gleichwertig mit einer mit extern
?Unterschied zwischen local/block-scope Deklaration der Funktion mit extern und ohne es
namespace {
void f() {
extern void g(); // has external linkage
g();
}
void f2() {
void g(); // always the same, as if, without extern
g();
}
}
Vielen Dank!
Warum würden Sie eine Funktion innerhalb einer Funktion deklarieren? Was denkst du tut es? –
Das Gegenteil von extern ist statisch - 'static void g(); // interne Verknüpfung ". –
@underscore_d check out http://stackoverflow.com/questions/1034606/is-there-any-use-for-local-function-declarations – EulersRainbow