In integration.h I have this

```
class FunctionClass
{
public:
virtual double f(const double x) = 0;
};
```

Then in probability.h, I have this

```
#include "integration.h"
class Mass1 : public FunctionClass
{
public:
double Clutter;
Mass1(double c) : Clutter(c) {}
double f(const double x)
{
return Clutter * exp(-Clutter * x);
}
};
```

That works perfectly. However, if I change it to

```
#include "integration.h"
class Mass1 : public FunctionClass
{
public:
double Clutter;
Mass1(double c) : Clutter(c) {}
double f(const double x);
};
```

and then in probability.cpp put

```
#include "probability.h"
double f(const double x)
{
return Clutter * exp(-Clutter * x);
}
```

I get this vtable error. What have I done wrong?

Thanks,

Dave