En C ++, recibo el mensaje "error: 'void *' no es un tipo de puntero a objeto"

Aquí está mi código:

#include <iostream>
using namespace std;

int main()
{
   void *x;
   int arr[10];
   x = arr;
   *x = 23; //This is where I get the error,
}

Como puede ver, el código es muy simple. Simplemente crea un puntero nulo x que apunta a la dirección de memoria de la matriz 'arr' y coloca el número entero 23 en esa dirección de memoria. Pero cuando lo compilo, aparece el mensaje de error "'void *' no es un tipo de puntero a objeto". Cuando uso un puntero 'int' en lugar de un puntero vacío y luego lo compilo, no recibo ningún error o advertencia. Quiero saber por qué me sale este error.

Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta