Salve a tutti, come avrete letto dal titolo non riesco a definire una variabile che mantenga il suo valore dopo essere stata modificata da una funzione, e vi riporto questo semplice esempio:
Creo una classe chiamata
C++:
#include <iostream>
class Toggle
{
// Variabile interna
bool toggle = 0;
public:
// Costruttore
Toggle()
{
toggle = 0;
}
// Funzione interna
static void ChangeState(Toggle State)
{
std::cout << State.toggle;
State.toggle = !State.toggle;
}
};
int main()
{
Toggle N1;
while (1)
{
Toggle::ChangeState(N1);
getchar();
}
}
Creo una classe chiamata
Toggle
che ha come variabile interna bool toggle = 0;
(Questa è la variabile che vorrei rendere globale) e tramite la funzione ChangeState()
dovrebbe switchare tra la posizione 0 e 1, ma non è così, ogni volta che la funzione viene chiamata il valore di toggle
è sempre uguale a 0 (viene reimpostato ogni volta all`inizio della funzione), e come output viene mostrato a schermo sempre il valore 0, sapreste dirmi come renderlo globale?