Я хотел бы выделить структуру в куче, инициализировать ее и вернуть указатель на нее из функции. Я интересно, если есть способ для меня, чтобы инициализировать константные члены структуры в этом сценарии:Как инициализировать const члены structs на куче
#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;
}
Должен ли я заключить из этого, что невозможно выделить и инициализировать-структуру в куче, которая содержит константные члены ?
Обратите внимание, что использование инициализации .x и .y в инициализации инициализации - C99, вы, конечно, можете использовать неименованные записи, если ваш компилятор не поддерживает его. – Trent
Блестящий, кафе - спасибо! – user268344
+1 Для уточнения на 'malloc' между C и C++. –