中のstruct fielsのCONSTを作る:は、構造体の特定のC
struct not_const {
int a;
char *b;
} nc;
それはnot_const
のconstのバージョンにそれをキャストするために動作します:?
struct const_version {
const int a;
const char *b;
};
struct const_version *c = (struct const_version *)&nc;
任意のパディング問題があるだろうか? 私は透明な組合について聞いたことがありますが、私はそれらが関数のパラメータとしてのみ使用されていると思います。
ありがとうございます。
あなたが 'const'メンバを持っているなら' const'初期化子が必要です。 –
'char * b'のconstバージョンは' const char * 'ではなく' char * const b'です。ポインタはconstでなければならず、 'char'が指し示す場所ではありません。 – mch
なぜあなたはそのようなconst構造体を持ちたいでしょうか?単純に 'const not_const'を使わないのはなぜですか? – Holt