-1

我有一个看起来像这样的结构:

struct bf_t {
bitset<250000> h0;
};

我想知道如何为这个结构分配内存以及如何在我的 main() 中访问 h0 。

我试过这样做:

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’
4

2 回答 2

0

当您声明这样的指针时,bf_t *b;您必须在使用它们之前分配给它们。您可能希望像这样在堆上创建一个新的 bf_t b = new bf_t();:然后你可以使用->它来访问它的成员。

于 2012-12-01T22:19:36.773 回答
0

错误消息和您的代码不匹配。然而,它更容易——你根本不需要指针:

bf_t b;
b.h0.set(1);
于 2012-12-01T22:22:56.303 回答