Il tuo esempio in realtà funziona (se ci metti un main) https://onlinegdb.com/SJyZf9lCW
Ha tuttavia un grossissimo problema, se includi il file .h in più di un file la variabile risulterà definita più volte. Il modo corretto è dichiararla nel file .h e definirla in uno di quelli .cpp
https://onlinegdb.com/SyHV45eRbcodice://lib.h #ifndef _LIB_H #define _LIB_H extern int birb; #endif //lib.cpp #include "lib.h" int birb; //main.cpp #include <iostream> #include "lib.h" using namespace std; int main() { birb = 5; cout << birb; return 0; }
P.S. non ho idea di quanto durino i link a quel sito perché l'ho trovato ora, ma la stessa quantità di informazioni è presente nel testo di risposta.

Rispondi quotando
