Derleme Hataları
MetaEdtior 5, kullanıma hazır gömülü derleyicisi ile, derleme sırasında tespit ettiği program hatalarıyla ilgili hata mesajları gösterir. Bu hataların listesi aşağıdaki tabloda verilmiştir. Bir kaynak kodunu derleyerek, çalıştırılabilir bir koda dönüştürmek için F7 tuşuna basın. Derleyici tarafından tanımlanan hatalar giderilmedikçe, hata içeren programlar için derleme gerçekleşmeyecektir.
Kod |
Açıklama |
---|---|
Dosya okuma hatası |
|
Yazma amacıyla *.EX5 dosyası açma hatası |
|
Derlemeyi tamamlamak için yeterli serbest bellek yok |
|
Derleyici tarafından tanınmayan boş sözdizim birimi |
|
#include içinde hatalı dosya ismi |
|
#include içindeki dosyaya erişim hatası (muhtemelen dosya yok) |
|
#define için uygun olmayan isim |
|
Bilinmeyen önişlemci komutu (geçerli olanlar #include, #define, #property, #import) |
|
Derleyici tarafından bilinmeyen sembol |
|
Fonksiyon uygulanamadı (tarif bulunuyor ama gövde yok) |
|
Çift tırnak (") atlanmış |
|
Üçgen parantez (<) veya çift tırnak (") açılması unutulmuş |
|
Tek tırnak (') unutulmuş |
|
Üçgen kapanış parantezi ">" unutulmuş |
|
Bildirim sırasında tip belirtilmemiş |
|
return operatörü yok veya uygulamanın hiçbir alanında return bulunamadı |
|
Parametreler için açılış parantezi gerekli |
|
EX5 yazım hatası |
|
Diziye geçersiz erişim |
|
Fonksiyon void tipinde değil ve return operatörü bir değere dönüş yapmalı |
|
Hatalı yıkıcı bildirimi |
|
iki nokta işareti ":" unutulmuş |
|
Değişkenin bildirimi daha önce yapılmış |
|
Aynı tanımlayıcıya sahip bir değişkenin bildirimi daha önce yapılmış |
|
Değişken ismi çok uzun (> 250 karakter) |
|
Aynı tanımlayıcıya sahip bir yapı, daha önce bildirilmiş |
|
Yapı tanımlanmamış |
|
Aynı isimde bir yapı üyesi daha önce tanımlanmış |
|
Böyle bir yapı üyesi bulunmuyor |
|
Çift parantez ihlali |
|
Açılış parantezi "(" gerekli |
|
Dengesiz parantezler (yok "}") |
|
Derlenmesi zor (çok fazla bölümleme var, iç yığın seviyeleri aşırı yüklenmiş) |
|
Okuma amaçlı dosya açma hatası |
|
Kaynak dosyanın indirilebileceği yeterli bellek alanı yok |
|
Değişken gerekli |
|
Referans başlatılamadı |
|
Atama gerekli (bildirim sırasında görünür) |
|
Açılış parantezi "{" gerekli |
|
Parametre sadece bir dinamik dizi olabilir |
|
void tipinin kullanımı kabul edilemez |
|
")" veya "]" için çiftler belirtilmemiş, yani "(" veya "[" bulunmuyor |
|
"(" veya "[" için çiftler belirtilmemiş, yani ")" veya "]" bulunmuyor |
|
Hatalı dizi büyüklüğü |
|
Parametre sayısı çok fazla (> 64) |
|
Bu simge burada olmamalı |
|
İşlemin hatalı kullanımı (işlenenler hatalı) |
|
void tipi ifadeye izin verilmiyor |
|
Operatör gerekli |
|
break operatörünün yanlış kullanımı |
|
Noktalı virgül ";" gerekli |
|
Virgül "," gerekli |
|
Bir sınıf tipi olmalı, yapı değil |
|
İfade gerekli |
|
HEX içinde "HEX olmayan karakter" bulundu veya sayı çok uzun (hane sayısı > 511) |
|
Dizgi-sabiti 65534 karakterden fazla |
|
Fonksiyon tanımının burada yapılması kabul edilemez |
|
Beklenmeyen program sonu |
|
Yapılarda ileri bildirime izin verilmez |
|
Bu isimde bir fonksiyon daha önce tanımlanmış ve başka bir dönüş tipi var |
|
Bu isimde bir fonksiyon daha önce farklı bir parametre kümesi ile tanımlanmış |
|
Bu isimde bir fonksiyon daha önce tanımlanmış ve uygulanmış |
|
Bu çağrı için fonksiyon aşırı-yüklemesi bulunamadı |
|
void tipinde dönüşe sahip bir fonksiyon, bir değere dönüş yapamaz |
|
Fonksiyon tanımlanmamış |
|
Değer gerekli |
|
case ifadesinde sadece tamsayı sabitleri geçerlidir |
|
Bu switch içerisinde case değeri daha önce kullanılmış |
|
Tamsayı gerekli |
|
#import ifadesinde dosya ismi gerekli |
|
Global düzeyde ifadelere izin verilmiyor |
|
Noktalı virgülden ";" önce unutulmuş parantez ")" |
|
Eşitliğin sol tarafında bir değişken gerekli |
|
İfadenin sonucu kullanılmamış |
|
case içinde değişken bildirimine izin verilmiyor |
|
Dizgiden sayıya gizli dönüşüm |
|
Sayıdan dizgiye gizli dönüşüm |
|
Aşırı-yüklenmiş bir fonksiyonun belirsiz çağrısı (bir kaç aşırı-yükleme ile uyumlu) |
|
Uygun bir if olmadan, kural dışı else kullanımı |
|
switch olmadan, geçersiz case veya default kullanımı |
|
Uygun olmayan üç nokta kullanımı |
|
Başlatma dizilimi, başlatılan değişkenden daha fazla elemana sahip |
|
case için bir sabit gerekli |
|
Bir sabit ifade isteniyor |
|
Sabit değişkenler değiştirilemez |
|
Köşeli parantezin kapatılması gerekli (dizi üyesinin bildirimi sırasında) |
|
Sayım tanımlayıcısı daha önce tanımlanmış |
|
Sayımlar erişim şekillendiricilerine sahip olamaz (const, extern, static) |
|
Sayım üyesinin bildirimi daha önce yapılmış |
|
Aynı isimle tanımlanmış bir değişken bulunuyor |
|
Aynı isimle tanımlanmış bir yapı bulunuyor |
|
Sayım üyesinin ismi gerekli |
|
tamsayı ifadesi gerekli |
|
Sabit ifade içinde sıfıra bölüm |
|
Fonksiyonda yanlış sayıda parametre bulunuyor |
|
Referans ile geçirilmiş parametre, bir değişken olmalı |
|
Referans ile geçirilecek aynı tipli bir değişken gerekli |
|
Sabit değişken sabit olmayan referansla geçirilemez |
|
Bir pozitif tamsayı sabiti isteniyor |
|
Korunan sınıf üyesine erişim başarısız oldu |
|
İçe aktarım daha önce farklı bir şekilde tanımlanmış |
|
Çalıştırılabilir dosya oluşturulmadı |
|
Gösterge için 'OnCalculate' giriş noktası bulunamadı |
|
continue işlemi sadece bir döngü içinde kullanılabilir |
|
private (özel) sınıf üyesine erişim hatası |
|
Yapının veya sınıfın yönteminin bildirimi yapılmamış |
|
private (özel) sınıf üyesine erişim hatası |
|
Nesneli yapıların kopyalanmasına izin verilmiyor |
|
İndis, dizi kapsamı dışında |
|
Yapı veya sınıf bildirimi içinde bir dizi başlatılmasına izin verilmiyor |
|
Sınıf yapıcısı parametreye sahip olamaz |
|
Sınıf yıkıcısı parametreye sahip olamaz |
|
Aynı isim ve parametrelere sahip sınıf yönteminin veya yapının bildirimi, daha önce yapılmış |
|
İşlenen terim gerekli |
|
Aynı isme ama farklı parametrelere sahip sınıf yöntemi veya yapılar mevcut (bildirim!=uygulama) |
|
İçe aktarılan fonksiyon tarif edilmemiş |
|
ZeroMemory() is not allowed for objects with protected members or inheritance |
|
Aşırı-yüklenmiş fonksiyonun belirsiz çağrısı (birden fazla aşırı-yüklemede parametreler tam olarak uyuşuyor) |
|
Değişken ismi gerekli |
|
Burada bir referans bildirimi yapılamaz |
|
Daha önce bir sayım ismi olarak kullanılmış |
|
Sınıf veya yapı gerekli |
|
Dizinin silinmesi için 'delete' operatörü çağrılamıyor |
|
'while' operatörü gerekli |
|
'delete' operatörü, bir işaretçiye sahip olmalı |
|
Bu 'switch' için 'default' zaten mevcut |
|
Sözdizim hatası |
|
Kaçış karakteri sadece dizgilerde olabilir ('\' ile başlar) |
|
Dizi isteniyor - köşeli parantez '[' diziye uygulanmamış veya, dizi olmayan parametreler dizi gibi geçirilmiş |
|
Başlatma dizilimi ile başlatılamıyor |
|
İçe aktarım tanımlanmamış |
|
Sözdizim ağacı içinde iyileştirici hatası |
|
Çok fazla yapı bildirilmiş (programı basitleştirmeyi deneyin) |
|
Parametre dönüşümüne izin verilmiyor |
|
'delete' operatörünün yanlış kullanımı |
|
Bir referans için işaretçi bildirimine izin verilmez |
|
Bir referans için referans bildirimine izin verilmez |
|
Bir işaretçi için işaretçi bildirimine izin verilmez |
|
Parametre listesinde yapı bildirimine izin verilmez |
|
Geçersiz tip dönüşümü işlemi |
|
Bir işaretçi sadece bir sınıf veya bir yapı için bildirilebilir |
|
Bildirimi yapılmamış tanımlayıcı |
|
Çalıştırılabilir kod iyileştirici hatası |
|
Çalıştırılabilir kod oluşturma hatası |
|
'switch' operatörü için geçersiz ifade |
|
Dizgi sabitleri havuzu aşırı doldurulmuş, programı basitleştir |
|
Sayıma dönüşüm yapılamaz |
|
Veriler için 'virtual' ifadesini kullanmayın (sınıf üyeleri veya yapılar) |
|
Sınıfın protected (korunan) yöntemi çağrılamıyor |
|
Farklı bir tipe dönüş yapan, geçersiz sanal fonksiyonlar |
|
Bir yapıdan sınıfa kalıtım yapılamaz |
|
Bir sınıftan bir yapıya kalıtım yapılamaz |
|
Yapıcı sanal olamaz (virtual belirtecinin kullanımına izin verilmiyor) |
|
Yapılar sanal yöntemlere sahip olmazlar |
|
Fonksiyonun bir gövdesi olmalı |
|
Sistem fonksiyonlarının (terminal fonksiyonları) aşırı yüklenmesine izin verilmez |
|
const belirteci, bir yapının veya sınıfın üyesi olmayan fonksiyonlarda geçersizdir |
|
Sabit yöntem içindeki sınıf üyelerinin değiştirilmesine izin verilmez |
|
Uygun olmayan başlatma dizilimi |
|
Parametre için bir ön tanımlı değer bulunamadı (ön tanımlı parametrelerin belirli bildirimi) |
|
Geçersiz ön tanımlı parametre (bildirimde ve uygulamada farklı değerler) |
|
Bir sabit nesne için, sabit olmayan bir yöntemin çağrılmasına izin verilmez |
|
Üyelere erişim için bir nesne gerekli (yapı veya sınıf olmayan ifadeye yapılan işaret) |
|
Daha önce bildirilmiş bir yapının ismi, bildirimde kullanılamaz |
|
Yetkisiz dönüşüm (kapalı kalıtımda) |
|
Yapılar ve diziler, girdi değişkeni olarak kullanılmaz |
|
const belirteci yapıcı ve yıkıcılar için geçersizdir |
|
Bir datetime için hatalı dizgi ifadesi |
|
Bilinmeyen özellik (#property) |
|
Hatalı özellik değeri |
|
#property içinde geçersiz özellik indisi |
|
Çağrı parametresi atlanmış - <func (x,)> |
|
Nesne referansla geçirilmeli |
|
Dizi referansla geçirilmeli |
|
Fonksiyon, dışa aktarılabilir şekilde bildirilmeli |
|
Fonksiyon, dışa aktarılabilir şekilde bildirilmemiş |
|
İçe aktarılan fonksiyonların, dışa aktarımına izin verilmez |
|
İçe aktarılan fonksiyonlar bu parametreye sahip olamazlar (bir işaretçinin, dinamik dizi içeren bir sınıf veya yapının, sınıfın, vb. geçirilmesine izin verilmez) |
|
Bir sınıf olmalı |
|
#import kapatılmamış |
|
Tip uyumsuzluğu |
|
Extern değişken daha önce başlatılmış |
|
Hiç dışa aktarılmış fonksiyon veya giriş noktası bulunamadı |
|
Açık yapı çağrısına izin verilmiyor |
|
Yöntem, sabit olarak bildirilmiş |
|
Yöntem, sabit olarak bildirilmemiş |
|
Hatalı kaynak dosyası boyutu |
|
Hatalı kaynak ismi |
|
Kaynak dosyası açma hatası |
|
Kaynak dosyası okuma hatası |
|
Bilinmeyen kaynak tipi |
|
Kaynak dosyasının, adresi hatalı |
|
Belirtilen kaynak ismi daha önce kullanılmış |
|
Fonksiyon benzeri makro için argüman gerekiyor |
|
Makro tanımında beklenmeyen sembol |
|
Makronun biçimsel parametrelerinde hata |
|
Makro için geçersiz parametre sayısı |
|
Parametre sayısı bir makro için çok fazla |
|
Çok karmaşık, Makroyu basitleştirin |
|
EnumToString() parametresi sadece bir sayım olabilir |
|
Kaynak ismi çok uzun |
|
Desteklenmeyen görüntü biçimi (sadece 24 veya 32 bitlik renk derinliğine sahip BMP biçimi desteklenir) |
|
Dizilerin bildirimi operatör içinde yapılamaz |
|
Fonksiyonun bildirimi sadece global düzeyde yapılabilir |
|
Bu kapsam için bildirime izin verilmiyor |
|
Statik değişkenlerin, yerel değişkenlerin değerleri ile başlatılmasına izin verilmez |
|
Ön tanımlı bir yapıcıya sahip olmayan bir nesne dizisinin kural dışı bildirimi |
|
Başlatma listesine, sadece yapıcılar için izin verilir |
|
Başlatma listesinden sonra fonksiyon tanımı bulunmuyor |
|
Başlatma listesi boş |
|
Yapıcı içinde, bir dizinin başlatılmasına izin verilmiyor |
|
Başlatma listesinde ebeveyn sınıfın üyelerinin başlatılmasına izin verilmiyor |
|
Tamsayı tipli ifade gerekli |
|
Dizi için istenen bellek, maksimum değerin üzerinde |
|
Yapı için istenen bellek, maksimum değerin üzerinde |
|
Global düzeyde bildirimi yapılan değişken için istenen bellek, maksimum değerin üzerinde |
|
Yerel değişkenler için istenen bellek, maksimum değerin üzerinde |
|
Yapıcı tanımlanmamış |
|
Geçersiz ikon dosyası ismi |
|
İkon dosyası belirtilen konumda açılamadı |
|
İkon dosyası yanlış ve ICOformatında olmalıdır. |
|
Başlatma listesi kullanılarak bir yapının/sınıfın yapıcısındaki bir üyenin yeniden başlatılması |
|
Yapıcının başlatma listesindeki statik üyelerin, başlatılmasına izin verilmiyor |
|
Bir sınıfın/yapının statik olmayan üyesinin global düzeyde başlatılmasına izin verilmiyor |
|
Yapı/sınıf yönteminin ismi, daha önce bildirilmiş bir üyenin ismiyle örtüşüyor |
|
Yapı/sınıf üyesinin ismi, daha önce bildirilmiş bir yöntemin ismiyle örtüşüyor |
|
const şekillendiricisine statik fonksiyonlarda izin verilmez |
|
Bir sınıfın veya yapının statik olmayan üyesine/yöntemine statik fonksiyon gibi erişilemez |
|
Bir aşırı-yükleme işleminin (+,-,[],++,-- vb.) operator anahtar sözcüğünden sonra gelmesi beklenir |
|
MQL5 içinde tüm işlemler aşırı-yüklenmiş olamaz |
|
Tanımlama bildirimle uyuşmuyor |
|
operatör için geçersiz sayıda parametre belirtilmiş |
|
Olay işleme fonksiyonu bulunamadı |
|
Yöntem dışarı aktarılamaz |
|
Sabit nesneye yapılan bir işaretçi, sabit olmayan bir nesne ile normalleştirilemez |
|
Sınıf şablonları henüz desteklenmiyor |
|
Fonksiyon şablonunun aşırı-yüklenmesi henüz desteklenmiyor |
|
Fonksiyon şablonu uygulanamaz |
|
Fonksiyon şablonunda belirsiz parametre (birkaç parametre tipi uygulanmış olabilir) |
|
Fonksiyon şablonunu argümanını normalleştirecek parametrenin tipi belirlenemiyor |
|
Fonksiyon şablonunda, hatalı parametre sayısı |
|
Fonksiyon şablonu sanal olamaz |
|
Fonksiyon şablonu dışa aktarılamaz |
|
Fonksiyon şablonu içe aktarılamaz |
|
Nesne içeren yapılara izin verilmez |
|
Nesneler içeren dizge dizilerine ve yapılara izin verilmez |
|
Statik bir sınıf/yapı üyesi açıkça başlatılmalıdır |
|
Derleyici sınırlaması: dizge en fazla 65.535 karakter içerebilir |
|
Tutarsız #ifdef/#endif |
|
Sınıfın nesnesi geri döndürülemez, kopya yapıcısı bulunamadı |
|
Statik olmayan üyeler ve yöntemler kullanılamaz |
|
OnTesterInit(), OnTesterDeinit() olmadan kullanılması imkansızdır |
|
'%s' resmi parametrenin yeniden tanımlaması |
|
__FUNCSIG__ ve __FUNCTION__ makroları, fonksiyon gövdesinin dışında görünemez |
|
Geçersiz geri dönüş tipi. Bu hata, örneğin, yapı veya işaretçi geri döndüren DLL'den içe aktarılan fonksiyonlar için oluşturulacaktır. |
|
Şablon kullanım hatası |
|
Kullanılmıyor |
|
Sanal fonksiyon bildiriminde hatalı sözdizim, sadece "=NULL" veya "=0" kullanımına izin verilir |
|
Sadece sanal fonksiyonların bildirimi soyut belirteçlerle ("=NULL" veya "=0") yapılabilir |
|
Soyut sınıf örneği oluşturulamaz |
|
Kullanıcı tanımlı bir tipin işaretçisi, dynamic_cast operatörü kullanılarak dinamik dönüşüm için hedef tip olarak uygulanmalıdır. |
|
"Fonksiyon İşaretçisi" tipi beklenmektedir |
|
Metot işaretçileri desteklenmemektedir |
|
Hata - fonksiyon işaretçisinin tipi tanımlanamamaktadır |
|
Özel kalıtım nedeniyle dönüştürme kullanılamaz |
|
const değiştiricisi içeren bir değişken bildirim sırasında başlatılmalıdır |
|
Arayüzde sadece public erişimi olan metotlar bildirilebilir |
|
Bir arayüzün geçersiz bir şekilde başka bir arayüzün içine yerleştirilmesi |
|
Bir arayüz sadece başka bir arayüzden elde edilebilir |
|
Bir arayüz beklenmektedir |
|
Arayüzler sadece genele açık kalıtımı destekler |
|
Bir arayüz üye içeremez |
|
Arayüz nesneleri doğrudan oluşturulamaz, yalnızca kalıtım kullanılarak oluşturulabilir |
|
Bir belirteç bir ileri bildirimde kullanılamaz |
|
final belirteci ile bildirildiği için sınıftan kalıtım imkansızdır. |
|
final belirteci ile bildirilen bir metot yeniden tanımlanamamaktadır |
|
final belirteci yalnızca sanal fonksiyonlara uygulanabilir |
|
override belirteci tarafından işaretlenen metot aslında herhangi bir temel sınıf fonksiyonunu geçersiz kılmaz |
|
Bir fonksiyon tanımlanırken belirtece izin verilmez, yalnızca bildirilirken izin verilir |
|
Tip belirtilene dönüştürülememektedir |
|
Tip bir kaynak değişkeni için kullanılamaz |
|
Proje dosyasında hata |
|
Birleşim üyesi olarak kullanılamaz |
|
Belirsiz ad seçimi, kullanım bağlamı açıkça tanımlanmalıdır |
|
Yapı DLL'den kullanılamaz |
|
delete belirteci tarafından işaretlenmiş bir fonksiyon çağrılamamaktadır |
|
MQL4 desteklenmemektedir. Programı derlemek için MetaTrader 4 terminal kurulum klasöründeki MetaEditor'ı kullanın |