今天用邻接表实现图时,遇到了如下所示的bug:“未定义的标识符”
class AdjacencyLinkedGraph :public Graph
{
private:
struct Node
{
int elem;
Node* next;
Node(int x, Node* p = nullptr) :elem(x), next(nullptr) {}
};
//......
Node* deleteNode(Node* head, int target);
public:
//......
};
//......
Node* AdjacencyLinkedGraph::deleteNode(Node* head, int target)
{
//......
}
//返回类型Node*处提示未定义的标识符!
//根据语法提示有两种修改方式:
//1、
AdjacencyLinkedGraph::Node* AdjacencyLinkedGraph::deleteNode(Node* head, int target)
{
//......
}
//2、在前面添加
using namespace AdjacencyLinkedGraph::Node; //本例中仍然报错
总结:返回类型是类的成员是要添加作用域