Доступ к Bitset присутствует внутри структуры Переполнение стека

У меня есть структура, которая выглядит так:

struct bf_t {
bitset<250000> h0;
};

Я хочу знать, как выделить память для этой структуры и как получить доступ к h0 в моем main ().

Я пытался сделать это:

bf_t *b;
b->h0.set(1);

error: base operand of ‘->’ is not a pointer

bf_t *b ;
b.h0.set(1);

error: request for member ‘h0’ in ‘b’, which is of non-class type ‘long long int’

-1

Решение

Сообщение об ошибке и ваш код не совпадают. Однако это гораздо проще — вам вообще не нужны указатели:

bf_t b;
b.h0.set(1);
0

Другие решения

Когда вы объявляете указатели, как это bf_t *b; Вы должны назначить им, прежде чем использовать их. Вы, вероятно, хотите создать новый bf_t в куче следующим образом: b = new bf_t();, Тогда вы можете использовать -> чтобы получить доступ к своим членам.

0