#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 }};总结
以上是内存溢出为你收集整理的c – 调试地图插入?全部内容,希望文章能够帮你解决c – 调试地图插入?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)