当前位置: 首页 > 知识库问答 >
问题:

C:无法在ostream内创建节点指针

贺方伟
2023-03-14

我用C来实现LinkedList,其他函数和操作符,我可以创建Node*很好。但是当我看到这个操作员“ostream”

这是我的链接列表。H

#ifndef LINKEDLIST_H
#define LINKEDLIST_H

#include <iostream>

using namespace std;

class LinkedList {
    typedef struct Node{
        int data;
        Node* next;

    bool operator < (const Node& node) const {
        return this->data < node.data;
    }

    bool operator <= (const Node& node) const {
        return this->data <= node.data;
    }

    bool operator > (const Node& node) const {
        return this->data > node.data;
    }

    bool operator >= (const Node& node) const {
        return this->data >= node.data;
     }

    friend ostream& operator << (ostream& out, const LinkedList& list);
    friend istream& operator >> (istream& in, const LinkedList& list);

    } * nodePtr;

public: 
    nodePtr head;
    nodePtr curr;
    LinkedList();

   // functions
    void push_front(int);
    void push_back(int);
    int pop_front();
    int pop_back();
    int size();
    bool contains(int);
    void print();
    void clear();

   // overload
    LinkedList& operator =(const LinkedList& list);
    bool operator !=(const LinkedList& list) const;
    LinkedList operator +(const int v) const;
    LinkedList operator +(const LinkedList& list) const;
    LinkedList operator - (const int v) const;   
    friend ostream& operator << (ostream& out, const LinkedList& list);
    friend istream& operator >> (istream& in, const LinkedList& list);  
   };

 #endif /* LINKEDLIST_H */

在我的链接列表中。cpp:

ostream& operator << (ostream& out, const LinkedList& list) {
    nodePtr temp = list.head;          <----------------- **Unable to resolve identifier nodePtr**
}

我可以在其他函数上创建Node*(nodePtr)。

共有1个答案

应嘉容
2023-03-14

nodePtr是在LinkedList中定义的,它需要限定。改变

nodePtr temp = list.head;

LinkedList::nodePtr temp = list.head;
 类似资料:
  • 我正在使用salesforce的沙盒开发人员版本。在安装程序中,当我在快速查找框中搜索“Apex Class”时,未找到任何结果。还有文件--

  • 有数据集在. csv文件格式 这个文件有超过4百万行。 我在远程超级计算机上运行数据库,我使用ssh隧道连接。我创建2个索引: 然后执行查询: 过了一段时间,我不知道一个小时,有关查询执行的信息消失或出现未知错误。但是当我localhost:7474/webadmin统计数据时,节点数量增长非常缓慢——大约10秒内增加5-8个节点。 当我执行查询时:(我可以,因为没有显示正在运行的查询) 大约有7

  • 本文向大家介绍JQuery创建DOM节点的方法,包括了JQuery创建DOM节点的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JQuery创建DOM节点的方法。分享给大家供大家参考。具体分析如下: 用JQuery选择器能够快捷而轻松地查找到文档中的某个特定的元素节点,然后可以用attr()方法来获取元素的各种属性的值。但真正的DOM操作并非这么简单。在DOM操作中,常常需要动态创建

  • 在本章中,我们将讨论如何使用文档对象的几种方法来创建新节点。 这些方法提供了创建新元素节点,文本节点,注释节点,CDATA节节点和属性节点的范围。 如果新创建的节点已存在于元素对象中,则将其替换为新节点。 下面将通过示例演示这些操作。 1. 创建新的Element节点 方法创建一个新的元素节点。 如果元素对象中存在新创建的元素节点,则将其替换为新元素节点。 语法 使用方法的语法如下 - 其中, -

  • 我试图在Windows 8上打开Groovy Shell(),得到了以下输出: 打印上述消息后,shell按预期启动。

  • 我在我的单个主机pc中运行了两个Apache Ignite实例(版本2.2.0),它们彼此发现,没有任何问题。我现在要做的是在这个现有的“伪集群”中简单地创建一个IgniteCache,最好不要启动一个新的实例。这是我现在拥有的代码: 当我运行此代码时,将创建一个Ignite客户端实例,尝试创建缓存,然后关闭客户端实例。如果我检查Ignite服务器实例的日志,它会在创建客户端实例时检测到它: 但是