【发布时间】:2023-06-24 02:08:01
【问题描述】:
我试图用私有结构声明一个公共成员函数,但它不起作用。有人可以帮我弄这个吗?这是头文件
class LinkedList
{
public:
LinkedList();
~LinkedList();
...
//I tried to add LinkedList also not working
//void deleteNode(const LinkedList::Node* n);
void deleteNode(const Node* n);
private:
struct Node
{
std::string value;
Node *next;
};
【问题讨论】:
-
将
private: ...
etc 部分移到同一类中公共部分的上方。完成此操作后,请仔细考虑应该如何向公共deleteNode
函数提供指向他们一无所知的类型的指针(因为它是私有的)。简而言之,除非有一些看不见的朋友,这个模型并没有多大意义。 -
谢谢你们,我没想到这个????
-
@WhozCraig 公开
void deleteNode(const Node* n);
使LinkedList::Node
- 从能够访问和使用LinkedList::Node
的角度来看 - 再次公开。