Switch quantity not an integer

i’m building menu on lcd screen, and i can’t find whats the issue is.
Arduino is constantly giving me this error-switch quantity not an integer,
I just can’t find where is problem.
Thank you in advanced and happy holidays

[code]
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

int masterKey = A0;
int keypadKey = 0;

char push;

byte menu = 1;
byte menuOld = 1;
byte menuAll = 4;


void setup() {

  lcd.begin(16, 2);
  mainMenu();
  delay(1000);
}

void loop() {
  push = readKeypad();
  menuContr();
  if (push == 'S') //enter selected menu
  {
    waitKey();
    switch (menuContr) {
      case 1:
        MenuA();
        break;
      case 2:
        MenuB();
        break;
      case 3:
        MenuC();
        break;
      case 4:
        MenuD();
        break;
    }
    mainMenu();
    waitKey();
  }
  delay(10);
}

//____________________________
void MenuA() {
  lcd.clear();
  while (readKeypad() != 'S') {
    lcd.print("1");
  }
}
//____________________________
void MenuB() {
  lcd.clear();
  while (readKeypad() != 'S') {
    lcd.print("2");
  }
}
//____________________________
void MenuC() {
  lcd.clear();
  while (readKeypad() != 'S') {
    lcd.print("3");
  }
}
//____________________________
void MenuD() {
  lcd.clear();
  while (readKeypad() != 'S') {
    lcd.print("4");
  }
}
//______________________________

void mainMenu() {
  lcd.clear();
  lcd.setCursor(0, 0);
  switch (menu) {
    case 1:
      lcd.print("Button test");
      break;
    case 2:
      lcd.print("Motor contr");
      break;
    case 3:
      lcd.print("LED contr");
      break;
    case 4:
      lcd.print("Syst run time");
      break;
  }
}
//____________________________
void executeAction() {
  switch (menu) {
    case 1:
      MenuA();
      break;
    case 2:
      MenuB();
      break;
    case 3:
      MenuC();
      break;
    case 4:
      MenuD();
      break;
  }
}
void menuContr() {
  waitKey();
  if (push == 'U') {
    menu++;
    if (menu > menuAll)
      menu = 1;
  }
  else if (push == 'D') {
    menu--;
    if (menu == 0)
      menu = menuAll;
  }
  if (menu != menuOld) {
    mainMenu();
    menuOld = menu;
  }
}
char readKeypad() {
  keypadKey = analogRead(masterKey);
  if (keypadKey < 100)
    return 'R';
  else if (keypadKey < 200)
    return 'U';
  else if (keypadKey < 400)
    return 'D';
  else if (keypadKey < 600)
    return 'L';
  else if (keypadKey < 800)
    return 'S';
  else
    return 'N';
}
void waitKey() {
  while ( analogRead(masterKey) < 800) {}
}

[/code]

menuContr is a function not an integer.

Steve

And it's a function that does not return anything (void menuContr).

Did you mean "switch (menu)"? That's the global variable the menuContr() function sets.