непонятка с функциями

 
Код на mql
 
int rs(double fdd[])
{
	string s;
	for(int z=0;z<=10;z++)	
	{
	Print(fdd[z]);
	}
	
	return (0);
}

int start()
  {

	double rsa[10];
	for (int x=0;x<=10;x++)
	rsa[x]=x;
	rs(rsa);
	
   return(0);
  }



Код на Си

int rs(double fdd[])
{
	char s;
	for(int z=0;z<=10;z++)	
	{
	s=(char)fdd[z];
	}
	return 0;
}

int main(int argc, char* argv[])
{
	double rsa[10];
	for (int x=0;x<=10;x++)
	rsa[x]=x;
	rs(rsa);
	return 0;
}



В MQL4 при передаче в функцию rs() массив rsa - с массивом непонятно что происходит, толи он обнуляется то ли еще чего.. На Си все отлично работает. Как реализовать в MQL передачу массивов в функции, или может я чего не так делаю?

 
мы уже обнаружили этот баг. в ближайшем билде будет исправление. а пока используйте передачу массива по ссылке
 
Да, внутри функции получаем ошибку
2005.02.17 14:46:16	Array EURUSD,H1: index 9 is out of range [0-0]
 
Еще вот такое странное сообщение при передаче по ссылке
2005.02.17 14:48:45	Array EURUSD,H1: index 10 is out of range [0-10]
 
ничего странного. нумерация элементов массива идёт с 0. для 10-элементного массива индекс 10 указывает за пределы
 
Все правильно - нельзя обращаться к элементу 10, если массив всего на 10 элементов. Счет то начинается с нуля, а не с 1. Вот где ошибка for (int x=0;x<=10;x++)


Это так, но в сообщении написано - is out of range [0-10]
а должно быть - is out of range [0-9]
Причина обращения: