今天用鄰接表實作圖時,遇到了如下所示的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; //本例中仍然報錯
總結:傳回類型是類的成員是要添加作用域