単体/二重リンクリストを可能にするために、ノード構造体をデコレートしようとしています。私は、次のコードを持っている:私は、コンパイラは私に次のエラーを与えるnode* head;
C++継承された構造体
と頭を定義している
temp->next = new BasicNode;
temp = temp->next;
:
struct node
{
Object* obj;
};
struct BasicNode: node
{
node* next;
};
私は次のコードを使用すると、私はエラーを取得します: "struct ListAsSLL::node has no member 'next'"
at temp->next
行。
どうしたのですか?それとも構造化継承をするのが間違っていたのですか? あなたの時間と援助ありがとうございます。
ダウンキャストとして頭を宣言する必要があります親から子へのクラスは明示的にする必要があります。 – UnholySheep
'head'の宣言は何ですか? –
継承は片方向に過ぎません。 'BasicNode'は' node'ですが、 'node'は' BasicNode'ではありません。 IMO 'temp'は' BasicNode * 'で' head'は 'node *'でなければなりません。 –