Bonjour,
Je souhaiterai déclarr une fonction inline mais l'implémenter dans le fichier source de la manière suivante:
.h
.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; };
Si je compile ces deux fichiers, pas de problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"; }
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:
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?
Code : Sélectionner tout - Visualiser dans une fenêtre à part inline function double TestInline::getValue() const used but never defined [enabled by default]
Merci de votre aide.
Partager