Array from String: MLQ4

 

How can I get an array from a string using MLQ4?  In the code below, the alert is blank:

 

int start() {
    string aPair[];
    string Pairs = "EURUSD,USDJPY,AUDUSD,EURCHF,USDCAD,EURGBP,NZDUSD,EURJPY,GBPUSD,USDCHF,GBPCHF";
    StrToStringArray(Pairs, aPair);
    Alert(aPair[2]);  // Should alert AUDUSD
}
  
int StringFindCount(string str, string str2) {
  int c = 0;
  for (int i=0; i<StringLen(str); i++)
    if (StringSubstr(str,i,StringLen(str2)) == str2)  c++;
  return(c);
}

string StringRight(string str, int n=1) {
  if (n > 0)  return(StringSubstr(str,StringLen(str)-n,n));
  if (n < 0)  return(StringSubstr(str,-n,StringLen(str)-n));
  return("");
}

int StrToStringArray(string str, string &a[], string delim=",", string init="")  {
  for (int i=0; i<ArraySize(a); i++)
    a[i] = init;
  if (str == "")  return(0);  
  int z1=-1, z2=0;
  if (StringRight(str,1) != delim)  str = str + delim;
  for (i=0; i<ArraySize(a); i++)  {
    z2 = StringFind(str,delim,z1+1);
    if (z2>z1+1)  a[i] = StringSubstr(str,z1+1,z2-z1-1);
    if (z2 >= StringLen(str)-1)   break;
    z1 = z2;
  }
  return(StringFindCount(str,delim));
}

 

 

Hello, i am a new user, so it just sharing.

i have test the code

string aPair[]; // try aPair[10];
    string Pairs = "EURUSD,USDJPY,AUDUSD,EURCHF,USDCAD,EURGBP,NZDUSD,EURJPY,GBPUSD,USDCHF,GBPCHF";
    StrToStringArray(Pairs, aPair);
    Alert(aPair[2]);  // Should alert AUDUSD 
    Comment(aPair[8]); // the resulr is GBPUSD
 

just change

string aPair[];

with this

string aPair[10];
Reason: