Hello!
I am getting an access violation creating a custom Space and boiled it down
to the following minimal example.
When the tmp array is destroyed (as it gets out of scope) I get an access
violation.
Visual Studio 10, 32bit (on a 64 bit machine)
Did I missunderstand the concept of temporary variables? If all variables
are instance variables, everything works fine.
Interesting enough, it also works if tmp has a length less or equal to 16.
class DummySpace : public Gecode::Space {
public:
DummySpace(bool share, DummySpace& other) : Space(share, other) { }
DummySpace() {
{
Gecode::BoolVarArgs tmp(*this, 17, 0, 1);
for(int j = 0; j<tmp.size(); ++j) rel(*this, tmp[j] == 1);
} //tmp gets out of scope
std::cout << "Never executed!" << std::endl;
}
DummySpace* copy(bool share) {
return new DummySpace(share, *this);
}
};
Thank you for your support,
Uwe
_______________________________________________
Gecode users mailing list
[email protected]
https://www.gecode.org/mailman/listinfo/gecode-users