Bonjour tout le monde,
Je me permets de venir vers vous pour une question ridicule mais où je suis incapable de trouver la solution...

J'ai actuellement une classe définie comme ceci
socketshandler.hpp
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
16
17
18
19
20
21
22
23
24
25
 
#ifndef __SOCKETSHANDLER_HPP__
# define __SOCKETSHANDLER_HPP__
 
#  include <iostream>
 
class   SocketsHandler
{
/* Variables */
private:
public:
    enum        TYPE { RabbitMQ };
 
/* Methods */
private:
 
public:
    SocketsHandler();
    ~SocketsHandler();
 
    template <typename ...Args>
    void        addHandler(SocketsHandler::TYPE type, Args &&...args);
};
 
#endif // !__SOCKETSHANDLER_HPP__
socketshandler.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
16
17
18
19
20
21
22
 
#include "socketshandler.hpp"
 
//-----------------------------------------------------
SocketsHandler::SocketsHandler()
//-----------------------------------------------------
{
}
 
//-----------------------------------------------------
SocketsHandler::~SocketsHandler()
//-----------------------------------------------------
{
}
 
 
//-----------------------------------------------------
template <typename ...Args>
void        SocketsHandler::addHandler(SocketsHandler::TYPE type, Args &&...args)
//-----------------------------------------------------
{
}
et le main
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
#include "socketshandler.hpp"
 
int main()
{
 
    SocketsHandler  toto;
 
    toto.addHandler(SocketsHandler::TYPE::RabbitMQ, "Toto", "tata");
 
}
Le problème est que quand je compile j'obtiens le message suivant
test.cpp.text+0x2c): undefined reference to `void SocketsHandler::addHandler<char const (&) [5], char const (&) [5]>(SocketsHandler::TYPE, char const (&) [5], char const (&) [5])'

Ce que je ne comprends pas c'est que si je définis ma fonction "addHandler" dans mon .hpp, je n'ai pas l'erreur...
Je n'arrive pas à voir ce que je fais de mal

Est-ce que quelqu'un peut m'aiguiller?
J'ai beau chercher sur les templates ou sur les variadics... je ne trouve rien qui pourrait m'aider