Me gustaría asignar una estructura en el montón, inicializarla y devolverle un puntero desde una función. Me pregunto si hay una manera para mí para inicializar los miembros const de una estructura en este escenario:Cómo inicializar miembros const de estructuras en el montón
#include <stdlib.h>
typedef struct {
const int x;
const int y;
} ImmutablePoint;
ImmutablePoint * make_immutable_point(int x, int y)
{
ImmutablePoint *p = (ImmutablePoint *)malloc(sizeof(ImmutablePoint));
if (p == NULL) abort();
// How to initialize members x and y?
return p;
}
¿Debo deducir de esto que es imposible asignar e inicializar una estructura en el montón que contiene miembros const ?
Tenga en cuenta que el uso de .x y .y en la inicialización de init es C99; por supuesto, puede usar entradas unificadas si su compilador no lo admite. – Trent
Brillante, caf - ¡gracias! – user268344
+1 Para la aclaración sobre 'malloc' entre C y C++. –