Ciao ho un'applicazione win32 (sto seguendo il libro "Programming Windows" di Petzold);
quando compilo mi da questo errore "error C2440: '=': impossibile convertire da 'void *' a 'TCHAR *'"
in questa riga:
"pVarNome = calloc(iLunghezza + 1, sizeof(TCHAR));"
Uso Visual C++ 2008 Express edition, questa è la funzione in cui è inserita quella riga:
codice:
void RiempiListBox(HWND hwndList)
  {
   int iLunghezza;
   TCHAR *pVarBlocco, *pVarInizio, *pVarFine, *pVarNome;

   //ottiene un puntatore a un blocco di memoria che contiene tutti i nomi e i valori delle variabili di ambiente
   pVarBlocco = GetEnvironmentStrings(); 

   while (*pVarBlocco)
    {
     if (*pVarBlocco != '=') //salta i nomi di variabili che iniziano con '='
      {
       pVarInizio = pVarBlocco; //inizio dei nomi di variabili
       while (*pVarBlocco++ != '='); //scansiona fino a '='
       pVarFine = pVarBlocco - 1; //punta al segno '='
       iLunghezza = pVarFine - pVarInizio; //lunghezza del nome di variabile

       pVarNome = calloc(iLunghezza + 1, sizeof(TCHAR)); //alloca memoria per il nome di variabile e che termina con zero;
       CopyMemory(pVarNome, pVarInizio, iLunghezza * sizeof(TCHAR)); //copia il nome di variabile e aggiunge uno zeroAA
       pVarNome[iLunghezza] = '\0';

       SendMessage(hwndList, LB_ADDSTRING, 0, (LPARAM)pVarNome); //mette il nome di variabile nella list box (aggiunge ogni stringa nella list box)
       free(pVarNome); //libera la memoria
      }
     while (*pVarBlocco++ != '\0'); //scansiona fino allo zero terminante
    }
   FreeEnvironmentStrings(pVarBlocco);
  }