My guess would be that data[keys[x]] does not yet exist when you attempt=
=
to set its member variable_name.
If I am correct, this should work instead:
for(x =3D 0; x < keys.length; x++)
{
data[keys[x]] =3D struct_name(); // call static opCall or other in=
it =
function here
data[keys[x]].variable_name =3D some_int;
}

two problems in your for loop. One is:
for(x = 0; x < keys.length; x++)
Since keys is an associative array, the keys are not guaranteed to be
sequential. You should do:
foreach(x; keys) // compiler implies that x is the value type of your AA.
This also is more efficient than doing the key lookup for each loop.
The second problem is your data statement. Just accessing an array element
does not create it (this is unlike C++'s std::map). You must create it with
an assign statement:
foreach(x; keys)
{
struct_name sn;
sn.variable_name = some_int;
data[x] = sn; // this creates the element in the array.
}
-Steve

two problems in your for loop. One is:
for(x = 0; x < keys.length; x++)
Since keys is an associative array, the keys are not guaranteed to be
sequential. You should do:
foreach(x; keys) // compiler implies that x is the value type of your AA.

Err... I might be wrong on this :) If some_number is a value and not a
type, then you have declared a static array. But I do believe that foreach
would make an easier-to-read version of your code at least.
-Steve