How I can implement the constructor of the class who is inline explicite? : <p>How I can implement the constructor of this class? The constructor is inline and explicit and call the draw function. I try to implement that's in the file .h and .cpp and that's generate an error. </p>

<pre><code>#ifndef DRAW_H
#define DRAW_H
#include "item.h"
#include &lt;set&gt;
#include "random/random.hpp"
namespace nvs
namespace lotto
{
class Parameter;

class Draw : public Item
{
  inline std::set&lt;unsigned&gt; draw(const Parameter &amp; parameter) const;
  public:
  /*!
   * this function call the private function draw()
   */
  inline explicit Draw(const Parameter &amp; parameter);
  /*!
   * \brief constructor virtuel by default.
   */
  virtual ~Draw() override = default;
};
inline explicit Draw::Draw(const Parameter &amp; parameter)
{
    draw(parameter);
}
inline std::set&lt;unsigned&gt; Draw::draw(const Parameter &amp; parameter) const
{
    std::set&lt;unsigned&gt; values;
    unsigned cpt=0;
    unsigned length = parameter.length();
    while (cpt &lt; length)
    {
        unsigned temp = random_value(parameter.maximum(), parameter.minimum());
        if ((values.find(temp))==values.end())
        {
            values.insert(temp);
            cpt++;
        }
    }
     return values;
}
}   // namespace lotto
}   // namespace nvs
#endif
#endif // DRAW_H
</code></pre>

<p>Output :</p>

<pre><code>C:\Users\George\Documents\TD07\draw.h:86: erreur : 'explicit' outside class declaration
inline explicit Draw::Draw(const Parameter &amp; parameter)
                                                      ^
C:\Users\Mitch\Documents\TD07\draw.h:86: erreur : no matching function for call to 'nvs::lotto::Item::Item()'
</code></pre>
