which after scratching my head for while an not being able to see anything wrong i managed to fix in an unsatisfactory way, but hopefully this gives some insight into what is happening.
I'm using g++ and pushing onto an stl vector
however the line :
Expand|Select|Wrap|Line Numbers
- oc->features->push_back(new TopologyFeature(wTop,oc));
error: no matching function for call to ‘TopologyFeature::TopologyFeature()’
so it seems to want a default constructor. I'm not sure why as i don't want to have a default constructor if i can avoid it.
however create a pointer to the same object type (and dont do anything with it) like so:
Expand|Select|Wrap|Line Numbers
- TopologyFeature* t;
- oc->features->push_back(new TopologyFeature(wTop,oc));
if its not a pointer but an object i get the same error.
Expand|Select|Wrap|Line Numbers
- TopologyFeature t;
- oc->features->push_back(new TopologyFeature(wTop,oc));//same error
Expand|Select|Wrap|Line Numbers
- oc->features->push_back(new TemporalChangeFeature2(wtChange, oc));//works fine