-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 に答える