error: array subscript is not an integer

Tim Prince TimothyPrince@sbcglobal.net
Tue Jun 24 02:11:00 GMT 2008


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.



More information about the Gcc-help mailing list