0

さて、リンクリスト構造体を次のように設定しました。

struct ListNode {
    ListNode* next;
    int data;
    ListNode(int in) {
        data = in;
        next = NULL;
    }
    ListNode(int in, ListNode* n) {
        data = in;
        next = n;
    }
};

挿入機能とともに:

bool insertNode(ListNode **head, int position, int data) {
    if (position == 0) {
        ListNode *element = new ListNode(data, *head->next);
        *head->next = element;
        return true;
    }
    else if (head == NULL)
        return false;
    else {
        insertNode(head->next, position-1, data);
    }
}

head の次の要素にアクセスするにはどうすればよいですか? 現在配置されているコードでは、次のエラー メッセージが表示されます。

request for member ‘next’ in ‘* head’, which is of non-class type ‘ListNode*’
4

1 に答える 1

4

これでうまくいくはずです

(*head)->next

編集: 演算子の優先順位の詳細については、http://en.cppreference.com/w/cpp/language/operator_precedenceを参照してください。

于 2012-08-26T00:32:22.160 に答える