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:
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:
 
};
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
 
    #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;
}
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 <iostream>
#include <string>
#include "Map.h"
 
using namespace std;
 
int main(){
    Map<int> map;
    //map.insert(5,1);
    return 0;
}
Merci d'avance pour votre aide