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?