c – 调试地图插入?
发布时间:2020-12-16 09:37:48 所属栏目:百科 来源:网络整理
导读:我在向Map插入条目时遇到问题. #include stdio.h#include vector#include stack#include mapusing namespace std;class Nodo{public: vectorNodo Relaciones; int Valor; bool Visitado; Nodo(int V) { Valor = V; Visitado = false; }};class Grafo{public:
我在向Map插入条目时遇到问题.
#include <stdio.h> #include <vector> #include <stack> #include <map> using namespace std; class Nodo { public: vector<Nodo> Relaciones; int Valor; bool Visitado; Nodo(int V) { Valor = V; Visitado = false; } }; class Grafo { public: Nodo *Raiz; map<int,Nodo> Nodos; Grafo(int V) { Raiz = new Nodo(V); //Getting http://msdn.microsoft.com/en-us/library/s5b150wd(v=VS.100).aspx here Nodos.insert(pair<int,Nodo>(V,Raiz)); } }; 解决方法
您的类型不匹配.您正在将Nodo *传递给对构造函数,而它需要一个Nodo对象.
你声明: Nodo *Raiz; 然后你试着打电话: pair<int,Raiz) 期望int和Nodo.但是你把它传给了int和Nodo *. 你可能想要的是这个: class Grafo { public: Nodo *Raiz; map<int,Nodo*> Nodos; // change to pointer Grafo(int V) { Raiz = new Nodo(V); //Getting http://msdn.microsoft.com/en-us/library/s5b150wd(v=VS.100).aspx here Nodos.insert(pair<int,Nodo*>(V,Raiz)); // change to pointer } }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |