too few arguments to function

Hi everybody

I have a Problem with my actual Project.
I use a 4D system display and have implemented the user interface in Visi- genie.
Now I would like to evaluate the buttons from the keyboard and display on the display (LED digits) . I receive the error message " too few arguments to function" unfortunately I dont understand this message and dont know what to do . I hope you can help me with my problem . Many thanks in advance

//////////////////////////////LIBRARIES EINLESEN//////////////////////////////
#include <genieArduino.h>

#include <stdio.h>
#include <stdint.h>
#include <ctype.h>

#ifndef	TRUE
#define	TRUE	(1==1)
#define	FALSE	(!TRUE)
#endif

Genie genie;
#define RESETLINE 13  // Der Touch-Display  besitzt den Resetpin mit der Nummer 13

void myGenieEventHandler (void)
{
  genie.DoEvents();
  genieFrame Event;
  genie.DequeueEvent(&Event); // Remove this event from the queue
  
  int KeyboardValue;

  if (Event.reportObject.object == GENIE_OBJ_KEYBOARD) // If this event is from a Keyboard
  {
    if (Event.reportObject.index == 0)	// If from Keyboard0
    {
      KeyboardValue = genie.GetEventData(&Event); // Get data from Keyboard0
      KeyBoard(KeyboardValue); // pass data to the calculatorKey function for processing
    }
  }
}

void KeyBoard(int key)
{
  switch (key)
  {
    case '1':
      genie.WriteObject(15, 0, 1);
      break;

    case '2':
      genie.WriteObject(15, 0, 2);
      break;

    case '3':
      genie.WriteObject(15, 0, 3);
      break;

    case '4':
      genie.WriteObject(15, 0, 4);
      break;

    case '5':
      genie.WriteObject(15, 0, 5);
      break;

    case '6':
      genie.WriteObject(15, 0, 6);
      break;

    case '7':
      genie.WriteObject(15, 0, 7);
      break;

    case '8':
      genie.WriteObject(15, 0, 8);
      break;

    case '9':
      genie.WriteObject(15, 0, 9);
      break;

    case 'd':
      genie.WriteObject(15, 0, 0);
      break;

    case 'o':
      genie.WriteObject(15, 0, 12345);
      break;
  }
}

//////////////////////////////VOID SETUP//////////////////////////////
void setup()
{
  // Touch-Display initialisieren (UART ==> TX und RX)
  Serial.begin(9600);
  genie.Begin(Serial);

  genie.AttachEventHandler(myGenieEventHandler);

  pinMode(RESETLINE, OUTPUT);  // Resetpin als Output deklarieren
  digitalWrite(RESETLINE, 0);  // Touch-Display reseten
  delay(100);
  digitalWrite(RESETLINE, 1);  // Touch-Display initialisieren

  delay (3500); // 3,5 Sekunden Wartezeit nach dem Resetvorgang; es ist wichtig das diese Wartezeit eingehalten wird

  genie.WriteContrast(10); // 1 = Display ON, 0 = Display OFF // Für die Bildschirmmodule uLCD43, uLCD-70DT und uLCD-35DT kann 0-15 für die Bildschirmhelligkeit eingesetz werden ==> 0 = Display OFF bis 15 = Max Brightness ON.
}

//////////////////////////////VOID LOOP//////////////////////////////
void loop(void)
{
  KeyBoard();
}

The compiler is telling you that your code has a problem and it cannot compile.

You are trying to use a function but are not passing in to it all the required arguments (variables).

Example -- if we define foo like this....

void foo(int x, int y) {
do something interesting with x and y
}

...and then call it like this.....

foo ( 47 );

the compiler will say that I have "too few arguments..."

...what you need to have is....

foo ( 47, 99 );

The compiler may have indicated also the offending line number. Start there.

Enjoy.

Either call it with an argument or rewrite it so it doesn't take one.

Or give it a default value in case you forget to give it an argument.