我在向地图中插入条目时遇到问题。
#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*
进入pair
构造函数,而它需要一个Nodo
object.
您声明:
Nodo *Raiz;
然后你尝试调用:
pair<int, Nodo>(V, Raiz)
它期望一个int
and a Nodo
。但你通过了int
and 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
}
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)