Ho un progetto in cui devo fare riferimento a una variabile dichiarata in un file CPP in un altro, è possibile?
Se é cosi, come?
risposte:
7 per risposta № 1È possibile, se lo dichiari globale (livello superiore, sopra qualsiasi definizione di funzione) e usi "extern;" in altri file per renderlo noto al compilatore.
// Main.cpp
#include <...>
int myNum;
int main(int argc, char** argv)
{
// MAGIC BE HERE
return 0;
}
e
// Second.cpp
#include <...>
extern int myNum;
int f()
{
return myNum * 2;
}
extern
impedisce al compilatore di allocare nuovamente la memoria quando una variabile è stata allocata in un altro file.
2 per risposta № 2
Crea un file .h che dichiara la variabile di cui hai bisogno extern
(qualcosa di simile a extern int X;
), quindi includilo in qualsiasi file che necessita di tale variabile. In uno dei file .cpp che stai collegando, dichiaralo senza il extern
.