Ho scritto questo codice:

codice:
int main()
{
 int i=0;
 int n=0;
 int *a;

scanf("%d", &n);
a = calloc(n, sizeof(int));

for (i = 0; i <= n; i++)
    {
     a[i] = i;
    }

for (i = 0; i < n; i++)
    {
     printf("%i", a[i]);
    }
scanf("%d", &n);

return 0;
}
In pratica inizializza un vettore di dimensione n, poi lo riempieil vettore con n-1 numeri ed infine li stampa a schermo.

Però alla riga:

codice:
a = calloc(n, sizeof(int));
Mi viene dato questo errore:
invalid conversion from `void*' to `int*'

Sapreste dirmi il perché?