Bonjour,
Je souhaiterai déclarr une fonction inline mais l'implémenter dans le fichier source de la manière suivante:

.h
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;
};
.cpp
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";
}
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.