我主要是想在c ++中的其他类中调用一个类,但我做不到

问题描述 投票:-1回答:1
class linkedlist{
     class listNode{
          int data;
          listNode* next;
            void listNode(int data,listNode* next){
            this->data=data;
            this->next=next;
        }
};
int main(){
  // in here I want to creat a listnode, but i dont know how to do it

  insert(listNode,5);
}

我需要在主函数中调用listnode,我知道我可以使用链表列表;然后是list.listNode,但我需要一个节点才能填写插入功能

c++ struct linked-list structure singly-linked-list
1个回答
0
投票

listNode是在linkedList类内部定义的类。这意味着您需要在使用所描述的符号之前输入适当的名称空间。另外,您需要调用所需类的构造函数。老实说,您最好阅读一些C ++教程,因为您的示例有更多错误。

有效声明为:

class linkedList {
public:
    class listNode {
         int data;
         listNode* next;

         listNode(int data_) data(data_), next(nullptr) {}
    };

    linkedlist() : head(nullptr), tail(nullptr) {}

    void insert(listNode* new_node) {
        if (head == tail && tail == nullptr) {
            head = tail = new_node;
        }
        else {
            tail->next = new_node;
            tail = new_node;
        }
    }

    listNode* head;
    listNode* tail;
};
int main(){
  linkedlist list;
  list.insert(linkedlist::listNode(5));
}
© www.soinside.com 2019 - 2024. All rights reserved.