Inline d'une fonction implémentée dans le fichier source
Bonjour,
Je souhaiterai déclarr une fonction inline mais l'implémenter dans le fichier source de la manière suivante:
.h
Code:
1 2 3 4 5 6 7 8 9 10
| #include <iostream>
class TestInline
{
public:
inline double getValue() const;
inline void printValue() const;
private:
double m_value;
}; |
.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11
| #include "TestInline.h"
double TestInline::getValue() const
{
return (m_value);
}
void TestInline::printValue() const
{
std::cout<<"\n\t Value = "<<m_value<<"\n\n";
} |
Si je compile ces deux fichiers, pas de problème.
Par contre si j'ai essaye d'appeler la méthode TestInline::getValue() depuis une autre classe, là j'ai un problème d'édition des liens:
Code:
inline function double TestInline::getValue() const used but never defined [enabled by default]
Dois-je corriger quelque chose? Ou dois-je obligatoirement implémenter mes fonctions dans le .h pour eviter ce problème d'édition des liens?
Merci de votre aide.