Hatalar, hatalar, sorular - sayfa 1099

 
Derleme zamanında hata
 class A {
public :
        A( int   ) { a = 2 ; }
        A( long ) { a = 3 ; }
         int a;
};

#define F( f, cN )  \
template < typename T> \
cN *f( T t ) { return ( new cN( t ) ); }

F( a11, A )

ve bir parametrik makro kullanmıyorsanız, parametreleri manuel olarak değiştirerek:

 //F( a11, A )
template < typename T>
A *a11( T t ) { return ( new A( t ) ); }

void OnStart ()
{
         int b = 10 ;
        A *a = a11( b );
         Print ( a.a );
         delete ( a );
}
o zaman her şey yolunda
 

Anlatılmayacak kadar şaşırdım... ME, diğer proje dosyalarında belirtilen değişkenleri ana düzeyde hiç görmez (vurgulamaz ve değişkenin tanımlandığı yere gidemez).

Ve ne kadar zaman oldu?

 
joo :

Anlatılmayacak kadar şaşırdım... ME, diğer proje dosyalarında belirtilen değişkenleri ana düzeyde hiç görmez (vurgulamaz ve değişkenin tanımlandığı yere gidemez).

Ve ne kadar zaman oldu?

Her "include" içinde, bağlantı olması gereken diğer dosyaları da belirtmelisiniz.
 
tol64 :
Her "include" içinde, bağlantı olması gereken diğer dosyaları da belirtmelisiniz.

Proje harika bir şekilde derleniyor, bu da derleyicinin her şeyi - neyin nerede olduğunu - gördüğü anlamına geliyor. Ve ME editörü değil.

Ayrıca, ana .mq5 yürütülebilir dosyasını , değişkenin bildirildiği bir içerme olarak belirtmeyi nasıl hayal ediyorsunuz?

 
joo :

Proje harika bir şekilde derleniyor, bu da derleyicinin her şeyi - neyin nerede olduğunu - gördüğü anlamına geliyor. Ve ME editörü değil.

Ayrıca, ana .mq5 yürütülebilir dosyasını , değişkenin bildirildiği bir içerme olarak belirtmeyi nasıl hayal ediyorsunuz?

Örneğin, bunun gibi:

 //--- Связь с основным файлом эксперта
#include "..\Main.mq5"
Veya bir şey yapmanın imkansız olduğu kısa bir örnek verin. Daha hızlı olacak. )
 
tol64 :

Örneğin, bunun gibi:

Veya bir şey yapmanın imkansız olduğu kısa bir örnek verin. Daha hızlı olacak. )
\Proje\

ana.mq5

 input string Nevidimka="труляля";

#include "Include\Incl.mqh"

\Proje\Dahil Et\

mqh dahil

 void Func()
{
   Print (Nevidimka); //Тут переменная Nevidimka не подсвечивается как должна бы подсвечиваться и нельзя перейти к месту её объявления
}
 
joo :
...

Proje klasöründeki ana dosya:

 //+------------------------------------------------------------------+
//|                                                         Main.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link        "http://www.mql5.com"
#property version    "1.00"
//---
#include "Include\Incl.mqh"
//---
input string Nevidimka = "труляля" ;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Deinitialization function of the expert                          |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
  }
//+------------------------------------------------------------------+
//| OnTick                                                           |
//+------------------------------------------------------------------+
void OnTick ()
  {
  }
//+------------------------------------------------------------------+

Project\Include dizinine dahil edilen dosya:

 //--- Связь с основным файлом эксперта
#include "..\Main.mq5"
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Func()
  {
   Print ( Nevidimka ); // Теперь подсвечивается и можно перейти к месту её объявления
  }
//+------------------------------------------------------------------+
 
tol64 :

Proje klasöründeki ana dosya:

Project\Include dizinine dahil edilen dosya:

Peki, bu anlamsız hareketler ne için? ME (ve programcı) değişkenleri ve işlevleri tam olarak derleyicinin yaptığı gibi görmelidir.

Ek olarak, önerdiğiniz şey çoğu durumda elverişsizdir (her proje için ekleri düzenlemek için mi?).

 

Her dosyanın zekası yalnızca kendi kapsamında çalışır. Diğer bir deyişle, tüm dosya tüm açık eklemelerle taranır.

Bağlantıları olmayan belirli bir dosyanın diğer kişilerin bilinmeyen dosyalarının verilerini göstermesini öneriyorsunuz. Hangi temelde yanlış.

 
joo :
Peki, bu anlamsız hareketler ne için? ME (ve programcı) değişkenleri ve işlevleri tam olarak derleyicinin yaptığı gibi görmelidir.
Başka seçenek bilmiyorum. ) Belki başka biri cevap verebilir.