Re: Declarations cause "Error: Non-static-const variable in array dimension"

From: Benjamin Bannier <benjamin.bannier_at_stonybrook.edu>
Date: Thu, 8 Apr 2010 03:58:57 -0400


Hi,

> Error: Non-static-const variable in array dimension

if you create C-arrays in CINT it still needs to know their sizes. Make all numbers that go into them const's. The way you use the numbers they should also all be defined unsigned.

    const unsigned int nRings = 18;
    const unsigned int Num_sinos = nRings*nRings;     const unsigned int nPHI = 336;
    const unsigned int nU = 283;
    sinogram float tmp0[Num_sinos*nPHI*nU],     sinogram_STIR_out[Num_sinos][nPHI][nU];

Or even better, use a deque.

    #include <deque>
    ...
    ...
    unsigned int nRings = 18;
    unsigned int Num_sinos = nRings*nRings;     unsigned int nPHI = 336;
    unsigned int nU = 283;
    std::deque<float> sinogram float tmp0(Num_sinos*nPHI*nU);     std::deque<float> sinogram_STIR_out(Num_sinos][nPHI][nU);

Benjamin

Received on Thu Apr 08 2010 - 09:59:10 CEST

This archive was generated by hypermail 2.2.0 : Thu Apr 08 2010 - 17:50:02 CEST