Error in the Void Function

Hi!!!
I’m having a few problems in declaration of void functions in my sketch.
Somebody can help me??

 void loop(){
  
  state=digitalRead(button);
  if(state!=lState){
    lState=state;
    if(state==HIGH){
      msgSize=strlen(bMsg);
      Serial.print("Message: ");
      Serial.println(bMsg);
      Serial.print("Message Size: ");
      Serial.println(msgSize);
      msg=(char *) calloc(msgSize, sizeof(char));
      strcpy(msg,bMsg);
      Serial.print("Final Message: ");
      Serial.println(msg);
    }
  }
  
  toMorse(char *msg, int msgSize, int **morseMsg);
  light(int **morseMsg, int msgSize);
}

void toMorse(char *msg, int msgSize, int **morseMsg){
  int x,y;
  int l_morseSize;

  digitalWrite(com, 1);//Indica que a conversão para Morse está acontecendo;
  Serial.println("Conversão Iniciada");
  
  morseMsg=(int **) calloc(msgSize, sizeof(int *));
  
  for(x=0;x<msgSize;x++){

    switch(msg[x]){
      case 'S':
      l_morseSize=sizeof(S);
      morseMsg[x]=(int *) calloc(l_morseSize, sizeof(int));
      for(y=0;y<l_morseSize;x++){ 
        morseMsg[x][y]=S[y];
      }
      break;
      case 'O':
      l_morseSize=sizeof(O);
      morseMsg[x]=(int *) calloc(l_morseSize, sizeof(int));
      for(y=0;y<l_morseSize;x++){ 
        morseMsg[x][y]=O[y];
      }
      break;
      case ' ':
      morseMsg[x]=(int *) calloc(1, sizeof(int));
      for(y=0;y<l_morseSize;x++){ 
        morseMsg[x][y]=2;
      }
      break;
    } 
  }
  digitalWrite(com, 0);//Indica que a  conversão para Morse está encerrada;
  Serial.println("Conversão Finalizada");
}

void light(int **morseMsg, int msgSize){

  int ditTime=500;
  int dahTime=1500;
  int wordTime=2000;
  int x, y;
  int l_morseSize;

  for(x=0;x<msgSize;x++){
    l_morseSize=sizeof(morseMsg[x]);
    for(y=0;y<l_morseSize;y++){
      switch(morseMsg[x][y]){
        case '0':
        digitalWrite(led, 0);
        delay(ditTime);
        break;
        case '1':
        digitalWrite(led, 1);
        delay(dahTime);
        break;
        case '2':
        digitalWrite(led, 0);
        delay(wordTime);
        break;
      }
    }
    delay(ditTime);
  }

  digitalWrite(com, 0);//Indica que a comunicação em Morse está encerrada;
}

Error:

Tarefa_Microcontrolados_3:88: error: expected primary-expression before ‘char’

toMorse(char *msg, int msgSize, int **morseMsg);

^

Tarefa_Microcontrolados_3:88: error: expected primary-expression before ‘int’

toMorse(char *msg, int msgSize, int **morseMsg);

^

Tarefa_Microcontrolados_3:88: error: expected primary-expression before ‘int’

toMorse(char *msg, int msgSize, int **morseMsg);

^

Tarefa_Microcontrolados_3:89: error: expected primary-expression before ‘int’

light(int **morseMsg, int msgSize);

^

Tarefa_Microcontrolados_3:89: error: expected primary-expression before ‘int’

light(int **morseMsg, int msgSize);

^

exit status 1
expected primary-expression before ‘char’

  toMorse(char *msg, int msgSize, int **morseMsg);
  light(int **morseMsg, int msgSize);
}

What are those?

Where's the rest of the code?

toMorse(char *msg, int msgSize, int **morseMsg);
This is incorrect syntax for calling a function - the types are only specified like that in your function definition.

Correct would be:
toMorse(msg,msgSize, morseMsg);

AWOL - the function definitions are there, just scroll down a few more line....

DrAzzy:
AWOL - the function definitions are there, just scroll down a few more line....

setup()?
Variables?

Thanks, DrAzzy