Hi, I'm working on a new object that is kinda like [value], but much
simplified and you can set multiple variable names and output them all as a
list (only floats now). It's been fun and it was working, compiling with
some weird bugs. I then started revising it and when I thought I could be
fixing the last bug, code does not compile now.
What I'm doing is storing multiple variable values and variable names, just
like I'm doing with some float values for my new multichannel aware audio
objects (one value per channel).
So I have.
*typedef* *struct* _var{
t_object x_obj;
t_int x_n; // number of given vars as arguments
t_symbol **x_sym; // variable name
*float* *x_fval; // var value
}t_var;
Now, when initializing the variable, in "new", I am trying to get the value
of an existing variable name (which is created if it doesn't exist yet).
This is done in the same as in [value] by the way
In [value] you have x->x_floatstar = value_get(s);
I got x->x_fval[i] = var_get(x->x_sym[i] = atom_getsymbol(av+i));
But this gives me the error
*
*var.c:80:22: **error: **assigning to 'float' from incompatible type
't_float *'*
* (aka 'float *'); dereference with **
x->x_fval[i] = var_get(x->x_sym[i] = atom_getsymbol(av+i));
* ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
Funny enough, I had an older version that would compile and work very well
despite some crashes, that initialized x_fval as
*float* **x_fval; // var value
Instead of just "*x_fval", which doesn't seem right.
Please help, and also, at this time, I could take suggestions of some nice
and free online C course that would make me intelligent to the point I
would have a minimum idea of what I am doing.
thanks