我仍然对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