私は1つのフィールドが他のフィールドの完全なスーパーセットであるいくつかのペアの構造体を持っています。いくつかの種類の継承をシミュレートしたいので、各構造体ごとに別々のケースを持つ必要がないので、コードがほぼ2倍になります。 Cのような言語で構図でのフィールド継承のシミュレーション
、私はこのようなものでフィールドの継承をシミュレートすることができます:私はルーストにこのような何かをしたい
struct A
{
int a;
};
struct B
{
struct A parent;
int b;
};
main()
{
struct B test1;
struct A *test2 = &test1;
test2->a = 7;
}
。私はそのようなものについてはhereを読んだが、私が試したときにまだ実装されていないようだ。別のケース処理をせずに別の内部構造体のフィールドを再利用する方法はありますか?ここで
は、私が試した列挙型の構文は次のとおりです。
enum Top
{
a: i32,
A {},
B {
b: i32
}
}
そして、これは私のエラーです:いくつかのサンプル実行に
error: expected one of `(`, `,`, `=`, `{`, or `}`, found `:`
--> src/main.rs:3:6
|
3 | a: i32,
| ^expected one of `(`, `,`, `=`, `{`, or `}` here
Link。
「*ときIそれを試しました、それはまだ実装されていないようです* "あなたが試したことを分かち合う気に?あなたが遭遇したエラー? https://play.rust-lang.org/に入れて、他の人もそれを実行できるようにしてください。 – dimo414