Bonjour à tous,
Je suis débutant en C++ et je suis en train d'apprendre comment fonctionnent les templates. J'ai donc regardé le tutoriel proposé ici et essayé de reproduire un exemple.
Malheureusement je me retrouve avec cet erreur lorsque je compile mon exemple:
MapADT.obj : error LNK2019: unresolved external symbol "public: __thiscall Map<int>::Map<int>(void)" (??0?$Map@H@@QAE@XZ) referenced in function _main
Voici les 3 fichiers utilisés par l'application:
Map.h:
Map.cpp:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #pragma once template<typename Type1> class Map { public: Map<Type1>(); Map(int); void insert( const Type1); private: };
MapADT.cpp:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include "StdAfx.h" #include "Map.h" template<typename Type1> Map<Type1>::Map(){ std::cout << "aaa" << std::endl; } template<typename Type1> void Map<Type1>::insert(Type1 key){ std::cout << key << " " << value << std::endl; }
Merci d'avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include "stdafx.h" #include <iostream> #include <string> #include "Map.h" using namespace std; int main(){ Map<int> map; //map.insert(5,1); return 0; }
Partager