Hatalar, hatalar, sorular - sayfa 2697

 
Stanislav Korotky :

Bir fonksiyon içinde sınıf beyanı?

Şablonlar olmadan çalışır.

 
Bir dizi işlev işaretçisi kullanıldığında, işaretçisi aracılığıyla bir işlev çağrılırken MT5 hatası (derleme 2375) derleme hatası :

 #define PRINT(x) ; Print ( #x, ":" , string (x))

void test(){
   PRINT( __FUNCSIG__ );
}

template < typename T>
void call(T f_ptr){
   f_ptr();
}


template < typename T>
class A{
public :
   T arr_1[ 1 ];
   
   typedef void (*ff)();
   ff arr_2[ 1 ];  
   
   
   T test_1(){
       return arr_1[ 0 ];
   } 
   
   ff test_2(){
       return arr_2[ 0 ];
   } 
   
   T operator []( int index){
       return arr_1[index];
   }
};

void OnStart (){
   typedef void (*ff)();
   ff arr[ 1 ];
   arr[ 0 ] = test;   
   
   ff f_ptr = arr[ 0 ];
   f_ptr();             //Ok
   call(arr[ 0 ]);         //Ok
   arr[ 0 ]();             //Compile Error: ')' - expression expected    
   
   
   A<ff> a;             
   a.arr_1[ 0 ] = test;
   a.arr_2[ 0 ] = test;
   
   
   a.arr_1[ 0 ]();         //Compile Error: ')' - expression expected    
   a.arr_2[ 0 ]();         //Compile Error: ')' - expression expected    
   
   a.test_1()();         //Compile Error: ')' - expression expected    
   a.test_2()();         //Compile Error: ')' - expression expected    
   
   a[ 0 ]();               //Ok ???
}


 
Sergey Dzyublik :
Bir dizi işlev işaretçisi kullanıldığında, işaretçisi aracılığıyla bir işlev çağrılırken MT5 hatası (derleme 2375) derleme hatası :

Çok eski böcek.

 

Size kim söyleyecek - MetaEditor açık dosya pencerelerinde, listelerinin gelecekte açılması için kaydedildiği yer?

Bundan önce bir sürü dosya açılmış olmasına rağmen, ME periyodik olarak sıfırdan açılır. Güncellemelerle alakalı olabilir.

Listeyi manuel olarak yedeklemek istiyorum, peki ya da bir şekilde farklı bir şekilde çözülebilir mi?

 
Aleksey Mavrin :

Size kim söyleyecek - MetaEditor açık dosya pencerelerinde, listelerinin gelecekte açılması için kaydedildiği yer?

Bundan önce bir sürü dosya açılmış olmasına rağmen, ME periyodik olarak sıfırdan açılır. Güncellemelerle alakalı olabilir.

Listeyi manuel olarak yedeklemek istiyorum, peki ya da bir şekilde farklı bir şekilde çözülebilir mi?

Kayıt defterinde bir liste var, "metaeditor.ini" ini dosyasında ME ==> Dosya - Veri Klasörünü Aç (Ctrl + Shift + D) ==> Config ==> metaeditor.ini yolu boyunca bir liste var
İkinciye ihtiyacın var.

 
fxsaber :

Çok eski böcek.

Bir zamanlar her şeyin olması gerektiği gibi çalıştığını tam olarak hatırlıyorum.
Kontrol etmeye gittim ve dizilerinden işlev işaretçilerini çağırmak için birkaç seçenek daha ekledim.

İşlev işaretçileri dizisi sınıfın içindeyken ve operatör[] kullanılarak belirli bir dizi öğesine erişildiğinde her şeyin çalıştığı ortaya çıktı.
Aynı zamanda bir elemente erişmek için normal bir fonksiyon kullanırsanız yine derleme hatası oluşur... Mucizeler...

 
Gösterge için otomatik yeniden ölçeklendirmeyi nasıl iptal edeceğinizi kimse size söylemez. Onlar. Diyelim ki gösterge alt penceresinde iki grafik var, dikey eksen boyunca yeniden ölçeklendirmeyi ikinci grafikte değil de bir grafikte yapmak mümkün mü? Böylece ikinci grafik yeniden ölçeklendirmeyi etkilemez.
 
MT5 hatası (derleme 2375), açık uzmanlaşmaya rağmen, aşırı yüklenmiş bir şablon işlevi çağrılırken, yine de varsayılan şablon işlevi çağrılır ve bu da yığın taşmasına neden olur.
C++ çevrimiçi ( https://onlinegdb.com/BJTFdUDD8 )
 template < typename T>
void test(T &arr[], T value){
     printf ( "1" );
};

template < typename T, typename TT>
void test(T* &arr[], TT* value){
     printf ( "2" );
     test<T*>(arr, value);
};

class A{};

void OnStart (){
   void * arr[] = {};
   A* ptr;
   test(arr, ptr);         // result: 2,2,2,2,2,2,2,2,...    should be: 2, 1
}
 
bool s_sel = SymbolSelect ( "" , true );
s_sel = true;

düzelt lütfen

 

İpucu yalnızca bir ENUM değeri döndürür.