error em c: aggregate value used where an integer was expected

WarBird

Membro
Gostaria que alguem me ajudasse a descubrir que erro é este. Estou a fazer um programa que usa threads para simular um call center. Mas na funçao de imprimir estado dá-me sempre este erro. Já tentei fazer cast para int mas sem resultado.Fica o codigo em baixo:

A variável var_telefonista foi declarada como global do tipo sem_t.
Código:
void *imprime_estado(void *nume)
{
  
  while(1){
    pthread_mutex_lock(&mutex);
    int x =  (int)var_telefonista;//numero de telefonistas ocupados(sem_t) ->ERRO!!
    printf("Estão a decorrer %d chamadas\n",var_telefonista);
    printf("O número de operadores livres é %d\n",((int)nume - x));//em que num é o número total de telefonistas(void) ->ERRO!!
    printf("Chamadas em espera %d\n",espera);
    pthread_mutex_unlock(&mutex);
    sleep(5);
  }
Agradeço qq ajuda.
 
Back
Topo