J'ai besoin d'aide avec la syntaxe C++ lors de l'utilisation de pointeurs const void. Je passe une fonction à un tableau vide vo (c'est-à-dire je ne sais pas quel type de données il est). J'ai alors besoin de copier le bloc de mémoire octet par octet dans un tableau char non signé local (avec et offset de 2).
Le tableau local est déclaré en dehors de la fonction & Je sais que ce sera toujours assez grand. Voici le code:Syntaxe C++ pour const void pointeur
void writeFram(const void* data, unsigned int startAddr, size_t size)
{
i2cBuffer[0] = startAddr >> 8;
i2cBuffer[1] = startAddr & 0xFF;
for(unsigned char i=0;i<size;++i)
{
i2cBuffer[i+2] = *static_cast<unsigned char*>(data);
}
}
L'erreur que je reçois est: Erreur: static_cast de type 'void * const' taper 'unsigned char * jette loin qualificatifs
Je pensais que je ne pouvais pas utiliser memcpy à cause du décalage dans la destination, mais un peu de googling montre que je peux :) – paulsoulsby