A default-constructed boost::optional is empty – it does not contain a value, so you can’t call get() on it. You have to initialise it with a valid value:
boost::optional<myClass> value = myClass();
Alternatively, you can use an in-place factory to avoid copy initialisation (but the copy will most likely be elided anyway); however, I have no experience with that, so I can’t provide an example.
As a side note, you can use -> in place of get(), like this:
value->setInt(10);
But that’s just a matter of stylistic preference, both are equally valid.