Hi, Actually, I'm a bit confused over Var's and VarArrays too. My understanding (and please correct me if I'm wrong) is that a Var or VarArray (and similarly ArgArrays; not sure what's the difference with them) holds only pointers/references to the actual variables, which are (in some slightly magic fashion) associated with the space object. Does this mean that having all variables in VarArrays that are members of the Space-derived object (and doing .updates on them in the copy constructor) is in fact not necessary? (execpt if I want to do something else with the variables, such as print them after a solution has been found). The actual variables (as opposed to the pointers stored in a Var/VarArray) would get copied/updated anyway? It seems to work, but I haven't found a clear indication either way in the documentation.
Julian, if you want to assign a value to an integer variable (that your IntVar holds a reference to), I think you have to do it by posting a constraint. For example, dom(this, X, 4, 4) would constrain the IntVar X so that 4 <= X <= 4 (here assuming the call is made from within a method of the space-derived class; otherwise put a pointer to the space instead of "this"). cheers, /[EMAIL PROTECTED] Christian Schulte wrote: > You can only print fields after they have been initialized. > > If you say "assign values" what do you mean? Assigning variables to fields > in thne array? Or, assigning values to the variables stored at a fields in > the array? > > Did you look at the examples that come with Gecode? > > -- > Christian Schulte, www.ict.kth.se/~cschulte/ > > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf > Of Julian Cardona > Sent: Monday, December 08, 2008 6:32 PM > To: [EMAIL PROTECTED] > Subject: [gecode-users] InVarArray methods > > Hey people i feel very idiot posting this but i have no idea hot to assign > values to a IntVarArray, i mean, i have an IntVarArray and i can initialize > it > how it is described in the API but i dont know how to assign arbitrary > vaules > to it. > I cant figure out why i can print out the value of a desired position: > std::cout << MyIntVarArray[i] << std::endl; > but im unable to assign values to it in the common way: > MyIntVarArray[4] = element; > > Please help me!!! > > > > > _______________________________________________ > Gecode users mailing list > [EMAIL PROTECTED] > https://www.gecode.org/mailman/listinfo/gecode-users > > > _______________________________________________ > Gecode users mailing list > [EMAIL PROTECTED] > https://www.gecode.org/mailman/listinfo/gecode-users _______________________________________________ Gecode users mailing list [EMAIL PROTECTED] https://www.gecode.org/mailman/listinfo/gecode-users