Doesn't look like, I got the same error even if I set the exact amount of elements
Then I would suggest the error is the fault of the simulator.
The following code appears to work exactly as expected
void Func0()
{
Serial.print ('G');
}
void Func1()
{
Serial.print ('A');
}
void Func2()
{
Serial.print ('T');
}
void Func3()
{
Serial.print ('C');
}
void (* funcs[])() = {Func0, Func1, Func2, Func3};
void setup()
{
Serial.begin (9600);
}
void loop()
{
funcs[random(4)]();
delay(1000);
}
But back to main topic: So there is no way to call a function name which as been created dynamically by a string?
I can't think of a compiled language it would be possible with.
Tell us what you want to do, not how you think it should be done.