Mam nazw foo
która zawiera liczbę całkowitą bar
, ogłosił więc ...statyczne vs non-zmiennych statycznych w przestrzeni nazw
Foo.h:
namespace foo {
int bar;
}
Teraz gdybym to foo.h
tylko w jednym plik, działa to dobrze. Ale pojawia się problem, gdy dołączę foo.h
z dwóch lub więcej plików: Otrzymuję błąd linkera. Pomyślałem, że jeśli zadeklaruję bar
jako static
, mogę dołączyć foo.h
w więcej niż jednym pliku. Wydaje mi się to dziwne, ponieważ nie wiedziałem, że można zadeklarować zmienną statyczną wewnątrz przestrzeni nazw. (co to właściwie znaczy?)
Dlaczego to działa? I co ważniejsze, dlaczego nie to działa bezstatic
? Co oznacza static
w przypadku używania w namespace
?
Awans. Był dokładnie mój problem i rozwiązany :) –