gpt4 book ai didi

c++ - 第一次尝试创建链表

转载 作者:行者123 更新时间:2023-11-28 06:43:33 25 4
gpt4 key购买 nike

首先我想说对不起,我敢肯定这个问题很简单,但这是我第一次尝试创建链表。

问题是当我尝试分配内存并在“nodeHead”中放置一个新节点地址时,我收到一条错误消息:

error C2440: '=' : cannot convert from 'MatchmakingAgency::Node *' to 'Node *'

IntelliSense: a value of type "MatchmakingAgency::Node *" cannot be assigned to an entity of type "Node *"

文件如下:

MatchmakingAgency.h - The database class

class Node;

#include "Client.h"
#ifndef _MatchmakingAgency_H_
#define _MatchmakingAgency_H_

class MatchmakingAgency
{
private:
Node* nodeHead;
Node* nodeTail;

//Node class
class Node
{
private:
Client* client;
Node* next;
public:
Node();
Node(Client*);
Node(Client*,Node*);
};
//end of Node class

public:
MatchmakingAgency();
MatchmakingAgency(Client*);
~MatchmakingAgency();

void printDatabase();

};

#endif

MatchmakingAgency.cpp

#include "MatchmakingAgency.h"

MatchmakingAgency::MatchmakingAgency(){
nodeHead = nodeTail = NULL;
}

MatchmakingAgency::MatchmakingAgency(Client* data){
nodeHead = new Node(data);
}

MatchmakingAgency::~MatchmakingAgency(){
}

Node.cpp

#include "MatchmakingAgency.h"

MatchmakingAgency::Node::Node(){
next = NULL;
}

MatchmakingAgency::Node::Node(Client* data){
client = data;
next = NULL;
}

MatchmakingAgency::Node::Node(Client* data,Node* nextnode){
client = data;
next = nextnode;
}

希望你能帮助我,请不要生气 ;)

非常感谢!

最佳答案

移动前向声明:

class Node;

从顶部进入 MatchmakingAgency.h 文件中的 MatchmakingAgency 类。

//class Node; << remove this

#include "Client.h"
#ifndef _MatchmakingAgency_H_
#define _MatchmakingAgency_H_

class MatchmakingAgency
{
private:
class Node; // << move here
Node* nodeHead;

关于c++ - 第一次尝试创建链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25465040/

25 4 0
文章推荐: CSS 引用容器内的 ID?
文章推荐: 不使用
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com