c ++:类指针函数原型MATCHES类指针函数声明,不看私有变量?

时间:2017-02-20 18:49:41

标签: pointers nodes private

我仍然对C ++足够新,因为有些事情仍然让我感到沮丧。我常常在提问之前先弄清楚事情,但这一次,我很难过。我试着寻找这个问题的答案,但我还是不确定究竟是什么称呼它,因为我以前没有记得遇到它,也没有人向我描述过它。它看起来像一个"指针功能"对我来说,这就是我所能想到的。

我打算将以下代码分成.hpp,.cpp和.main。

我无法理解的原因是因为箭头的功能原型:

#include <iostream>
#include <string>

using namespace std;

struct data
{
   string bookTitle;
   string bookAuthor;
   int month;
   int day;
   int year;
};

class Node
{
   data d;
   Node *link;
 public: 
   Node();
   Node(string title, string author, int mo, int da, int yr);

   void setLink(Node *ptr);
   Node *getLink(); <----------------------------

   string getTitle();
   string getAuthor();

   bool compareData (string title);
   void processData();
};

与宣言不一致:

void Node::setLink(Node *ptr)
    {
        link = ptr;
    }

Node Node::*getLink() <----------------------------
    {
       return link;
    }

我为函数Node Node :: * getLink()获取了这些:

错误:&#39;链接&#39;在这方面没有申明 警告:控制到达非空函数的末尾[-Wreturn-type]

但是,当在类中声明函数时,程序可以正常运行。我只能猜测我的语法不完全正确,以便获得对Node的私有链接成员的访问权。

同样,我不记得曾经处理过这样的情况,我甚至不知道这种情况是什么。

对不起,我无法立即提供任何进一步的细节,因为我必须在1:30之前到达某个地方。我会尽快在今天晚些时候回复任何人。如果需要,这是我的其余代码:

cpp.sh/6lgc

非常感谢您的帮助。如果有人能告诉我这是什么案子,请赐教!

干杯,

-Jon

0 个答案:

没有答案