Problem mit einer simplen Umschalt Funktion

Golumserbe

Grünschnabel
Ich will eine Funktion machen das eine Variable addiert wird, aber habe ein Problem.


Code:
int Test = 0;

void Funktion(int Umschaltvabriale)
{
if (GetKeyState(VK_RIGHT))
{
Umschaltvabriale++;
}
}

Funktion(Test);

in einem anderen Thread:

Code:
void blbalba(void)
{
if(Test==1)
{
//Führe etwas aus
}
}

Mein Problem ist nur die "Umschaltvabriale" ändert Ihren Wert auf 1 und mehr, ich will aber das die "Test" sich erhöht. Ich brauche das aber in einer Funktion. Sonst hätte ich es auch so gemacht:

Code:
if (GetKeyState(VK_RIGHT))
{
Test++;
}

Aber ich will über 54 Variable addieren und deswegen die Funktion.
 
Du musst die Variablen per Pass-by-Reference übergeben und nicht - standardweise - Pass-by-Value.
Beim zweiteren wird die Variable nämlich kopiert und beim ersteren der Speicherplatz direkt übergeben.

Füge einfach ein kaufmännisches Und vor dem Parameter ein:

C++:
void Funktion(int &Umschaltvabriale)
{
  if (GetKeyState(VK_RIGHT))
  {
    Umschaltvabriale++;
  }
}

Aber ich will über 54 Variable addieren und deswegen die Funktion.
Wenn diese sich in einem Array befinden, kannst du auch einfach nur dieses mit einer Schleife durchlaufen.
 
Zurück