This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: error: array subscript is not an integer


Manal Helal wrote:
Hi

I am trying to construct a multidimensional array (as linear array in
memory, but indexed with equations to represent the dimensions) of
size 30 each, and 6 dimensions, which is 30^6=729000000

using a long type for the array crashes, as it is outside the range
values. I used double long data type, and I had the above error: array
subscript is not an integer

Is there a work around this problem that I can implement,  or another
way of creating similar arrays?


If you want total target independence, maybe there is no way. If your data type is wide enough that this array exceeds 2GB, on the most common 64-bit OS, you should be able to create a dynamic array of this size. A size_t data type would make more sense than making us guess what you mean by double long. Technically, double long might be the same as long double, a floating point type unsuitable for an array subscript.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]