I was getting the same error, but what I was doing was this:
In the object structure I would write:
float x_iem_filter[5][2];

and in the new function I would write:
x->x_iem_filter[5][2] = {
  {0.1, 0.2},
  {0.3, 0.4}, etc.

different values though, this is an example. Then I would get the error:
overDrive~.c:35:25: error: expected ';' at end of declaration list
        float x_iem_coeff[5][2] = {

What I finally did was create a one dimensional array in the new structure like this:
float iem_filter[10] = { ten values here };

and in the same function I run this:
for(i = 0; i < 5; i++){
  for(j = 0; j < 2; j++)
    x->x_iem_filter[i][j] = iem_filter[index++];
}

which seems to work


On Sun, Jul 27, 2014 at 9:46 PM, Jonathan Wilkes via Pd-list <pd-list@lists.iem.at> wrote:
On 07/27/2014 01:05 PM, Alexandros Drymonitis wrote:
I solved it by declaring the array in the object structure like this:
float x_iem_coeff[5][2];

and in the new function I create another, one dimensional array, and run a nested for loop and set the local array's elements to x_iem_coeff[5][2] one by one. This seemed to work, no errors during compilation. The object crashes Pd when the DSP is turned on, but I guess (and think) it's something else that causes that. The array declaration and initialization shouldn't have anything to do with the DSP state, right?


On Sun, Jul 27, 2014 at 7:41 PM, Alexandros Drymonitis <adrcki@gmail.com> wrote:
I'm building an external where I want to create a two dimensional array. I'm following this example which works well with the attached test code, but creates an error when I try to compile my external.
The external's code where the array is being declared and initialized is this:
float x_iem_coeff[5][2] = {
        {0.045535, 1.0277},
        {0.161621, 1.2569},
        {0.393858, 1.96655},
        {1.13986, 4.51667},
        {6.36341, 22.7468}
    };

which is in the object structure. The error I get is:
overDrive~.c:35:25: error: expected ';' at end of declaration list
        float x_iem_coeff[5][2] = {
                               ^
                               ;

I've tried to declare the array in the object structure and initialize it in the new function, but I still got the same error.
Any tips?

In C, you can't initialize inside a struct.  But you should be able to initialize outside of it.  What's the error you get when you try that?

-Jonathan




_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list


_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list