en-tête est « graph.h »Besoin d'aide, je ne comprends pas pourquoi code suivant ne se compilé
#ifndef _GRAPH_H_
#define _GRAPH_H_
#include <map>
#include <vector>
using namespace std;
template <class T>
class VERTEX
{
public:
VERTEX(T inVertex): m_vertex(inVertex), m_visited(false){}
~VERTEX(){}
private:
T m_vertex;
bool m_visited;
};
template <class T>
class GRAPH
{
public:
GRAPH() {}
~GRAPH(){}
typedef VERTEX<T> GRAPHVERTEX;
typedef vector<GRAPHVERTEX> ADJLIST;
typedef map<GRAPHVERTEX, ADJLIST> GRAPHMAP;
void insert(GRAPHVERTEX inSRC, GRAPHVERTEX inDST)
{
GRAPHMAP::iterator itr = m_graph.find(inSRC);
}
private:
GRAPHMAP m_graph;
};
#endif
et le fichier de test est
#include "graph.h"
int main(int argc, char**argv)
{
GRAPH<int> *G = new GRAPH<int>();
G->insert(VERTEX<int>(0), VERTEX<int>(2));
return 0;
}
Quelle est l'erreur lorsque vous allez compiler? –
Je ne sais pas comment coller l'erreur car il est traversant les limites – Avinash
erreur C2784: 'bool std :: opérateur <(const std :: vecteur <_Ty,_Alloc> &, const std :: vecteur <_Ty,_Alloc> &)': impossible de déduire argument de modèle pour 'const std :: vector <_Ty,_Alloc> &' from 'const VERTEX' –
Avinash