Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Possible loss of data.. Fehler (http://www.expert-advisor.com/forum/showthread.php?t=4772)

Ca$hDigger 09.02.16 18:42

Possible loss of data.. Fehler
 
Hallo,

seit ich #property strict nutze bekomme ich bei der Wertübergabe an ein Interger-Array den Fehler "possible loss of data due to type conversion".
Dies tritt bei Folgendem auf:

int var[2];

var[0] = MarketInfo(Symbol(), MODE_SPREAD);
var[1] = TimeCurrent();

Ich dachte eigentlich, dass beide nur int Werte übergeben... Warum kommt der Fehler?

Gruß

traderdoc 09.02.16 19:15

MarketInfo() wurde als double und TimeCurrent() als datetime deklariert.

Da int mit weniger Bytes auskommt, werden dann bei der Übergabe bei Variablen höheren Typs evtl. Informationen verloren gehen.

Dann schreibst Du einfach über eine explizite Typumwandlung:

int var[2];

var[0] = (int)MarketInfo(Symbol(), MODE_SPREAD); //hier fällt tatsächlich alles nach der Kommastelle weg
var[1] = (int)TimeCurrent();

traderdoc

Ca$hDigger 10.02.16 00:10

Danke, den Trick kannte ich auch noch nicht.

Könnten in dem Falle wirklich relevante Werte verloren gehen? Soweit ich getestet hatte werden immer Ganzzahlige Werte zurückgegeben.
Beim Spread ist zb auch bei 5-digits der Wert Ganzzahlig und der Timewert wird den maximalen Wertebereich von int auch nicht so schnell übersteigen oder mach ich da irgendwo ein Fehler?

C$D

traderdoc 10.02.16 06:31

Ne, Du hast da keine Denkfehler, weil in den beiden Fällen tatsächlich ganzzahlige Werte geliefert werden. Aber beide Variablen haben nun mal keine int-Deklaration und somit meckert der Compiler mit dieser Warnung.

traderdoc


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:00 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum