Egy függvénynek át lehet valahogy adni paraméterben egy tömböt?2014-08-30T13:46:25+00:00

Radu.hu Fórum Kérdések az MQL4 programozási nyelvvel kapcsolatban Egy függvénynek át lehet valahogy adni paraméterben egy tömböt?

Címkézve: , ,

3 bejegyzés megtekintése - 1-3 / 3
  • Szerző
    Bejegyzés
  • naburus
    Tag
    Bejegyzések száma: 19

    Úgy látszik én vagyok most a legaktívabb. Remélem nem fárasztó a sok kérdésem. 🙂
    A példából jól látszik át szeretnék adni paraméterben egy tömböt egy függvénynek, mert tele van a kódom ArrayResize -al és zavarja a szememet. Több módszer próbáltam de semmi sem működik. Megjegyzem azzal hogy nincsenek pointerek az mql -ben kiherélték a c++ -t. Van erre valami megoldás?

    double arr[];

    void OnStart()
    {
    ArrayResize(arr,100000,100000);
    DoArrayResize(arr,0,3.14); // 0 adik elem legyen = 3.14 el
    Alert(arr[0]);
    }

    void DoArrayResize(double[] array,int index,double value)
    {
    int indexIncrement=index+1; // 0 a nem lehet ezért 1 el több
    ArrayResize(array,indexIncrement,100000);
    array[index]=value; // Ez biztos nem jó így nem tudom hogy lenne jó.
    }

    Radulovic Attila
    Tag
    Bejegyzések száma: 646

    Mindig akkora tömböket használj, amekkora épp szükséges. Felesleges memóriát pazarolni 100 000 elemre, ha csak 10-et fogsz használni.

    Függvényt átadni így tudsz:

    
    double
     bla[];
    
    Fuggveny(bla);
    
    void Fuggveny (double arr[]) {
    
       Print("Tömb elemeinek száma = ", ArraySize(arr));
    }
    

    Ha szeretnéd a tömbön belül módosítani a tömböt, akkor pedig a & jelet használd:

    
    double
     bla[];
    
    Fuggveny(bla);
    
    void Fuggveny (double &arr[]) {
    
       Print("Tömb elemeinek száma = ", ArraySize(arr));
    
       ArrayResize(arr, 19);
    
       Print("Tömb elemeinek száma az átméretezés után = ", ArraySize(arr));
    }
    

    Fontos, hogy az új MQL4-ben kizárólag a & jeles változatot tudod használni (ha lefelejted, szól a compiler)

    Én írtam magamnak átméretező, hozzáadó, törlő függvényt minden fontosabb típushoz (double, int, string, stb.)

    naburus
    Tag
    Bejegyzések száma: 19

    Oké, köszönöm, így valóban működik.

3 bejegyzés megtekintése - 1-3 / 3

A hozzászóláshoz jelentkezz be!

Adhatok Neked még több ingyenes tartalmat?

Értesítelek hetente megjelenő új tartalmaimról.

Hozzájárulok, hogy az adatvédelmi nyilatkozat szerint biztonságosan kezeld megadott adataimat, valamint hasznos anyagokat és egyedi ajánlatokat küldj nekem termékeiddel, szolgáltatásaiddal kapcsolatban e-mailben