c++ – passar uma funcao com parametro para a main em c

Preciso cadastrar os funcionarios, e assim poder fazer login e ir diretamente para o menu correnspondente. porem não consigo referenciar o menu de cadastros dos funcionarios para fazer o login.

void CadastrarFuncionario(Funcionario funcionario(), int *contadorFuncionario);
int main()
{

setlocale(LC_ALL, "portuguese");

int i = 0, contador = 0;
char user(10), pass(10);

do
{
    printf("n ---  LOGIN ---- n ");
    printf("_________________ n ");
    printf(" *** Usuário *** n ");
    fflush(stdin);
    gets(user);
    printf(" *** Informe a Senha *** n ");

    do
    {
        pass(i) = getch();
        if (pass(i) == 8 && i > 0) //Backspace
        {
            printf("b b");
            pass(i) = 0;
            i--;
        }
        else if (pass(i) == 13) // Enter
        {
            pass(i) = 0;
            i = 0;
            break;
        }
        else if (pass(i) != 8)
        {
            putchar('*');
            i++;
        }

    } while (i < 10); // TROCA DE CARACTERES, sTRINGS PARA UM MASCARA NAS SENHAS. CASO A SENHA PASSE DE 10 CARACTERES ELA EXECUTA O EVENTO.

    system("cls");
    /*
     c = strcmp(pass, "123"); 
    compPass = strcmp(user, "adm");
    */

    if (strcmp(user, "adm") == 0 && strcmp(pass, "123") == 0)
    {
        TelaMenuAdm();
    }

    /*
        entra a condição para o Funcionario (atendente) entrar em seu menu correspondente
    */


    else
    {

        printf("n Usuário ou Senha inválidosn ");

        sleep(2);
    }
    contador++;
    if (contador >= 2)
    {
        printf("n --- Muitas tentativas --- ");
        sleep(1);
        LimparTela();
        printf("** saindo do sistema ** ");
        sleep(1);
        exit(0);
    }

} while (1); // login para adm ou funcionario entrar no menu correspondente.

return 0;

}