Erros, bugs, perguntas - página 2011

 
Compreendo correctamente que tais matrizes não podem ser inicializadas de forma razoável?
class A {};

A* const Array[] = {NULL};

E só faz sentido como parâmetros de entrada para funções/métodos?

void f( const A* const &Array[] );
 

MT4 construir 1090

void OnStart()
{
   ResetLastError();
   ObjectCreate(ChartID(),"SomeName",OBJ_ARROW,0,0,0);
   ObjectCreate(ChartID(),"SomeName",OBJ_ARROW,0,0,0);
   Print("Ошибка повторного создания объекта на ТЕКУЩЕМ чарте Error=",GetLastError());
   ObjectDelete(ChartID(),"SomeName");

   ResetLastError();
   ObjectCreate(ChartFirst(),"SomeName",OBJ_ARROW,0,0,0);
   ObjectCreate(ChartFirst(),"SomeName",OBJ_ARROW,0,0,0);
   Print("Ошибка повторного создания объекта на ПЕРВОМ чарте Error=",GetLastError());
   ObjectDelete(ChartFirst(),"SomeName");

   ResetLastError();
   ObjectCreate(ChartNext(ChartFirst()),"SomeName",OBJ_ARROW,0,0,0);
   ObjectCreate(ChartNext(ChartFirst()),"SomeName",OBJ_ARROW,0,0,0);
   Print("Ошибка повторного создания объекта на НЕ ТЕКУЩЕМ чарте Error=",GetLastError());
   ObjectDelete(ChartNext(ChartFirst()),"SomeName");

   ResetLastError();
   ObjectCreate(0,"SomeName",OBJ_ARROW,0,0,0);
   ObjectCreate(0,"SomeName",OBJ_ARROW,0,0,0);
   Print("Ошибка повторного создания объекта на ТЕКУЩЕМ чарте Error=",GetLastError());
   ObjectDelete(0,"SomeName");
   
   ResetLastError();

   Print("__MQL4BUILD__ = ",__MQL4BUILD__," TERMINAL_BUILD = ",TERMINAL_BUILD);
}

Erro de recriação de objecto nográfico CORRENTE Erro=4200


Erro ao recriar um objecto num gráfico não corrente Erro=0

Bug?
 

Verificar guião:

Percorre todos os gráficos do terminal, cria um objecto com um nome repetido e gera um erro no registo.

Verificará também a velocidade de pesquisa do objecto criado no gráfico.

void OnStart()
  {

   Print("__MQL4BUILD__ = ",__MQL4BUILD__," TERMINAL_BUILD = ",TERMINAL_BUILD);

   ResetLastError();
//--- переменные для идентификаторов графиков 
   long currChart,prevChart=ChartFirst();
   int i=0,limit=100;
   Print("ChartFirst = ",ChartSymbol(prevChart)," ID = ",prevChart);
//создадим дублирующий объект для графика и выведем ошибку
   ObjectCreate(prevChart,"SomeName",OBJ_ARROW,0,0,0);
   ObjectCreate(prevChart,"SomeName",OBJ_ARROW,0,0,0);
   Print(" Error on creating duplicate object - GetLastError=",GetLastError());
   ObjectDelete(prevChart,"SomeName");
   ObjectFindSearchBench(1000,prevChart);//SearchBench
   while(i<limit)// у нас наверняка не больше 100 открытых графиков 
     {

      currChart=ChartNext(prevChart); // на основании предыдущего получим новый график 
      if(currChart<0) break;          // достигли конца списка графиков 
      Print(i," ",ChartSymbol(currChart)," ID =",currChart);
      prevChart=currChart;// запомним идентификатор текущего графика для ChartNext() 
                          //создадим дублирующиеся объекты
      ResetLastError();
      ObjectCreate(prevChart,"SomeName",OBJ_ARROW,0,0,0);
      ObjectCreate(prevChart,"SomeName",OBJ_ARROW,0,0,0);
      Print(" Error on creating duplicate object - GetLastError=",GetLastError());
      ObjectDelete(prevChart,"SomeName");
      ObjectFindSearchBench(1000,prevChart);//SearchBench
      i++;// не забудем увеличить счетчик 
     }


  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
ulong ObjectFindSearchBench(const int Amount=1 e3,long chart=0)
  {
   int b=0,f=0;
   
   ResetLastError();
   if(chart==0) chart=ChartID();
   const ulong StartTime=GetMicrosecondCount();
//создадим объект и потом найдем его Amount раз
   ObjectCreate(chart,"SomeName",OBJ_ARROW,0,0,0);

   for(int w=0;w<Amount;w++)
     {
      if(ObjectFind(chart,"SomeName")>=0)
        {
         b++;
        }
      else f++;
     }
   Print("Time to search Object by name ",Amount," times is ",GetMicrosecondCount()-StartTime," microseconds. ChartID=",chart," found obj: ",b," not found obj: ",f,chart==ChartID()?" CURRENT CHART":"");
   return(GetMicrosecondCount() - StartTime);
  }

Veja se pode executar o guião, por favor.

O Meu Diário de Bordo:

0 19:51:01.427 teste CHFJPY.e,H1: __MQL4BUILD__ = 553 TERMINAL_BUILD = 5

0 19:51:01.427 test CHFJPY.e,H1: ChartFirst = EURCAD.e ID = 131498872250507535

0 19:51:01.427 test CHFJPY.e,H1: Erro na criação de objecto duplicado - GetLastError=0

0 19:51:01.443 test CHFJPY.e,H1: O tempo para pesquisar Objecto pelo nome 1000 vezes é de 15129 microssegundos. ChartID=131498872250507535 encontrado obj: 1000 não encontrado obj: 0

0 19:51:01.443 test CHFJPY.e,H1: 0 EURCAD.e ID=131500664876581320

0 19:51:01.443 test CHFJPY.e,H1: Erro na criação de objecto duplicado - GetLastError=0

0 19:51:01.463 test CHFJPY.e,H1: O tempo para pesquisar Objecto pelo nome 1000 vezes é de 20278 microssegundos. ChartID=131500664876581320 encontrado obj: 1000 não encontrado obj: 0

0 19:51:01.463 teste CHFJPY.e,H1: 1 CADJPY.e ID=131502896347051608

0 19:51:01.463 test CHFJPY.e,H1: Erro na criação de objecto duplicado - GetLastError=0

0 19:51:01.479 test CHFJPY.e,H1: O tempo para pesquisar Objecto pelo nome 1000 vezes é de 15825 microssegundos. ChartID=131502896347051608 encontrado obj: 1000 não encontrado obj: 0

0 19:51:01.479 teste CHFJPY.e,H1: 2 EURCAD.e ID=131502897682567227

0 19:51:01.479 test CHFJPY.e,H1: Erro na criação de objecto duplicado - GetLastError=0

0 19:51:01.529 test CHFJPY.e,H1: O tempo para pesquisar Objecto pelo nome 1000 vezes é de 50372 microssegundos. ChartID=131502897682567227 encontrado obj: 1000 não encontrado obj: 0

0 19:51:01.529 teste CHFJPY.e,H1: 3 GBPJPY.e ID=131505457001351910

0 19:51:01.529 test CHFJPY.e,H1: Erro na criação de objecto duplicado - GetLastError=0

0 19:51:01.541 test CHFJPY.e,H1: O tempo para pesquisar Objecto pelo nome 1000 vezes é de 11587 microssegundos. ChartID=131505457001351910 encontrado obj: 1000 não encontrado obj: 0

0 19:51:01.541 teste CHFJPY.e,H1: 4 GBPCHF.e ID=131505572251554422

0 19:51:01.541 test CHFJPY.e,H1: Erro na criação de objecto duplicado - GetLastError=0

0 19:51:01.554 test CHFJPY.e,H1: O tempo para pesquisar Objecto pelo nome 1000 vezes é de 13026 microssegundos. ChartID=131505572251554422 encontrado obj: 1000 não encontrado obj: 0

0 19:51:01.554 teste CHFJPY.e,H1: 5 AUDCHF.e ID=131505732457965009

0 19:51:01.554 test CHFJPY.e,H1: Erro na criação de objecto duplicado - GetLastError=0

0 19:51:01.567 test CHFJPY.e,H1: O tempo para pesquisar Objecto pelo nome 1000 vezes é de 12949 microssegundos. ChartID=131505732457965009 encontrado obj: 1000 não encontrado obj: 0

0 19:51:01.567 teste CHFJPY.e,H1: 6 USDCHF.e ID=131506110968531490

0 19:51:01.567 test CHFJPY.e,H1: Erro na criação de objecto duplicado - GetLastError=0

0 19:51:01.587 test CHFJPY.e,H1: O tempo para pesquisar Objecto pelo nome 1000 vezes é de 20701 microssegundos. ChartID=131506110968531490 encontrado obj: 1000 não encontrado obj: 0

0 19:51:01.587 teste CHFJPY.e,H1: 7 AUDUSD.e ID=13150755133030304303

0 19:51:01.587 test CHFJPY.e,H1: Erro na criação de objecto duplicado - GetLastError=0

0 19:51:01.606 test CHFJPY.e,H1: O tempo para pesquisar Objecto pelo nome 1000 vezes é de 18558 microssegundos. ChartID=13150755133030304303 encontrado obj: 1000 não encontrado obj: 0

0 19:51:01.606 teste CHFJPY.e,H1: 8 EURCAD.e ID=131507869928472695

0 19:51:01.606 test CHFJPY.e,H1: Erro na criação de objecto duplicado - GetLastError=0

0 19:51:01.619 test CHFJPY.e,H1: O tempo para pesquisar Objecto pelo nome 1000 vezes é de 13219 microssegundos. ChartID=131507869928472695 encontrado obj: 1000 não encontrado obj: 0

0 19:51:01.619 teste CHFJPY.e,H1: 9 EURAUD.e ID=131507916092399918

0 19:51:01.619 test CHFJPY.e,H1: Erro na criação de objecto duplicado - GetLastError=0

0 19:51:01.632 test CHFJPY.e,H1: O tempo para pesquisar Objecto pelo nome 1000 vezes é de 12294 microssegundos. ChartID=131507916092399918 encontrado obj: 1000 não encontrado obj: 0

0 19:51:01.632 teste CHFJPY.e,H1: 10 CHFJPY.e ID=131508222052591591588

0 19:51:01.632 test CHFJPY.e,H1: Erro na criação de objecto duplicado - GetLastError=4200

0 19:51:01.632 test CHFJPY.e,H1: O tempo para pesquisar Objecto pelo nome 1000 vezes é de 98 microssegundos. ChartID=13150822205259151588 encontrado obj: 1000 não encontrado obj: 0 GRÁFICO CORRENTE


A minha velocidade de pesquisa difere 100-500 vezes...

E quanto a si?

 
Kirill Belousov:

Verificar guião:

Percorre todos os gráficos do terminal, cria um objecto com um nome repetido e regista um erro.

Verificará também a velocidade de pesquisa do objecto criado no gráfico.

Veja se pode executar o guião, por favor.


A minha velocidade de pesquisa varia num factor de 100-500...

E você?


0       19:59:35.973    PeriodConverter GBPUSDf,M15: __MQL4BUILD__ = 553 TERMINAL_BUILD = 5
0       19:59:35.973    PeriodConverter GBPUSDf,M15: ChartFirst = AUDUSDf ID = 130936784496551158
0       19:59:35.973    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       19:59:36.013    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 32430 microseconds. ChartID=130936784496551158 found obj: 1000 not found obj: 0
0       19:59:36.013    PeriodConverter GBPUSDf,M15: 0 USDCADf ID =130936784496551160
0       19:59:36.013    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       19:59:36.023    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 11738 microseconds. ChartID=130936784496551160 found obj: 1000 not found obj: 0
0       19:59:36.023    PeriodConverter GBPUSDf,M15: 1 GBPAUDf ID =130936784496551163
0       19:59:36.023    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       19:59:36.033    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 7645 microseconds. ChartID=130936784496551163 found obj: 1000 not found obj: 0
0       19:59:36.033    PeriodConverter GBPUSDf,M15: 2 EURUSDf ID =130936784496551164
0       19:59:36.033    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       19:59:36.043    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 8734 microseconds. ChartID=130936784496551164 found obj: 1000 not found obj: 0
0       19:59:36.043    PeriodConverter GBPUSDf,M15: 3 EURJPYf ID =130936784496551165
0       19:59:36.043    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       19:59:36.053    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 12249 microseconds. ChartID=130936784496551165 found obj: 1000 not found obj: 0
0       19:59:36.053    PeriodConverter GBPUSDf,M15: 4 EURCADf ID =130936784496551166
0       19:59:36.053    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       19:59:36.063    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 15107 microseconds. ChartID=130936784496551166 found obj: 1000 not found obj: 0
0       19:59:36.063    PeriodConverter GBPUSDf,M15: 5 USDCHFf ID =130936784496551167
0       19:59:36.063    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       19:59:36.093    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 31361 microseconds. ChartID=130936784496551167 found obj: 1000 not found obj: 0
0       19:59:36.093    PeriodConverter GBPUSDf,M15: 6 GBPUSDf ID =130936784496551169
0       19:59:36.093    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=4200
0       19:59:36.093    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 156 microseconds. ChartID=130936784496551169 found obj: 1000 not found obj: 0 CURRENT CHART
0       19:59:36.093    PeriodConverter GBPUSDf,M15: 7 AUDCADf ID =130936784496551170
0       19:59:36.093    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       19:59:36.103    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 10455 microseconds. ChartID=130936784496551170 found obj: 1000 not found obj: 0
0       19:59:36.103    PeriodConverter GBPUSDf,M15: 8 CADCHFf ID =130936784496551171
0       19:59:36.103    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       19:59:36.133    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 28968 microseconds. ChartID=130936784496551171 found obj: 1000 not found obj: 0
0       19:59:36.133    PeriodConverter GBPUSDf,M15: 9 NZDCADf ID =130936784496551175
0       19:59:36.133    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       19:59:36.153    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 18735 microseconds. ChartID=130936784496551175 found obj: 1000 not found obj: 0
0       19:59:36.153    PeriodConverter GBPUSDf,M15: 10 NZDCHFf ID =130936784496551176
0       19:59:36.153    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       19:59:36.163    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 10593 microseconds. ChartID=130936784496551176 found obj: 1000 not found obj: 0
0       19:59:36.163    PeriodConverter GBPUSDf,M15: 11 NZDUSDf ID =130936784496551178
0       19:59:36.163    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       19:59:36.193    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 23403 microseconds. ChartID=130936784496551178 found obj: 1000 not found obj: 0
0       19:59:36.193    PeriodConverter GBPUSDf,M15: 12 EURNZDf ID =130936912624549660
0       19:59:36.193    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       19:59:36.213    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 19404 microseconds. ChartID=130936912624549660 found obj: 1000 not found obj: 0
0       19:59:36.213    PeriodConverter GBPUSDf,M15: 13 EURAUDf ID =130936912624549662
0       19:59:36.213    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       19:59:36.213    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 7570 microseconds. ChartID=130936912624549662 found obj: 1000 not found obj: 0
0       19:59:36.213    PeriodConverter GBPUSDf,M15: uninit reason 0
0       19:59:36.223    Script PeriodConverter GBPUSDf,M15: removed


0       20:00:18.966    Script PeriodConverter GBPUSDf,M15: loaded successfully
0       20:00:18.986    PeriodConverter GBPUSDf,M15: initialized
0       20:00:18.986    PeriodConverter GBPUSDf,M15: __MQL4BUILD__ = 553 TERMINAL_BUILD = 5
0       20:00:18.986    PeriodConverter GBPUSDf,M15: ChartFirst = AUDUSDf ID = 130936784496551158
0       20:00:18.986    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       20:00:19.036    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 42453 microseconds. ChartID=130936784496551158 found obj: 1000 not found obj: 0
0       20:00:19.036    PeriodConverter GBPUSDf,M15: 0 USDCADf ID =130936784496551160
0       20:00:19.036    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       20:00:19.046    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 17436 microseconds. ChartID=130936784496551160 found obj: 1000 not found obj: 0
0       20:00:19.046    PeriodConverter GBPUSDf,M15: 1 GBPAUDf ID =130936784496551163
0       20:00:19.046    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       20:00:19.086    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 33961 microseconds. ChartID=130936784496551163 found obj: 1000 not found obj: 0
0       20:00:19.086    PeriodConverter GBPUSDf,M15: 2 EURUSDf ID =130936784496551164
0       20:00:19.086    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       20:00:19.096    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 8201 microseconds. ChartID=130936784496551164 found obj: 1000 not found obj: 0
0       20:00:19.096    PeriodConverter GBPUSDf,M15: 3 EURJPYf ID =130936784496551165
0       20:00:19.096    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       20:00:19.106    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 13671 microseconds. ChartID=130936784496551165 found obj: 1000 not found obj: 0
0       20:00:19.106    PeriodConverter GBPUSDf,M15: 4 EURCADf ID =130936784496551166
0       20:00:19.106    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       20:00:19.136    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 28041 microseconds. ChartID=130936784496551166 found obj: 1000 not found obj: 0
0       20:00:19.136    PeriodConverter GBPUSDf,M15: 5 USDCHFf ID =130936784496551167
0       20:00:19.136    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       20:00:19.146    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 12396 microseconds. ChartID=130936784496551167 found obj: 1000 not found obj: 0
0       20:00:19.146    PeriodConverter GBPUSDf,M15: 6 GBPUSDf ID =130936784496551169
0       20:00:19.146    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=4200
0       20:00:19.146    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 159 microseconds. ChartID=130936784496551169 found obj: 1000 not found obj: 0 CURRENT CHART
0       20:00:19.146    PeriodConverter GBPUSDf,M15: 7 AUDCADf ID =130936784496551170
0       20:00:19.146    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       20:00:19.236    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 91767 microseconds. ChartID=130936784496551170 found obj: 1000 not found obj: 0
0       20:00:19.236    PeriodConverter GBPUSDf,M15: 8 CADCHFf ID =130936784496551171
0       20:00:19.236    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       20:00:19.296    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 53496 microseconds. ChartID=130936784496551171 found obj: 1000 not found obj: 0
0       20:00:19.296    PeriodConverter GBPUSDf,M15: 9 NZDCADf ID =130936784496551175
0       20:00:19.296    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       20:00:19.378    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 80612 microseconds. ChartID=130936784496551175 found obj: 1000 not found obj: 0
0       20:00:19.378    PeriodConverter GBPUSDf,M15: 10 NZDCHFf ID =130936784496551176
0       20:00:19.378    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       20:00:19.418    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 42953 microseconds. ChartID=130936784496551176 found obj: 1000 not found obj: 0
0       20:00:19.418    PeriodConverter GBPUSDf,M15: 11 NZDUSDf ID =130936784496551178
0       20:00:19.418    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       20:00:19.438    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 19186 microseconds. ChartID=130936784496551178 found obj: 1000 not found obj: 0
0       20:00:19.438    PeriodConverter GBPUSDf,M15: 12 EURNZDf ID =130936912624549660
0       20:00:19.438    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       20:00:19.448    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 9539 microseconds. ChartID=130936912624549660 found obj: 1000 not found obj: 0
0       20:00:19.448    PeriodConverter GBPUSDf,M15: 13 EURAUDf ID =130936912624549662
0       20:00:19.448    PeriodConverter GBPUSDf,M15:  Error on creating duplicate object - GetLastError=0
0       20:00:19.498    PeriodConverter GBPUSDf,M15: Time to search Object by name 1000 times is 47959 microseconds. ChartID=130936912624549662 found obj: 1000 not found obj: 0
 
Vitaly Muzichenko:

Senka levar a bola

Parece que HE :)

 
Kirill Belousov:

Senka levar a bola

Parece que HE :)

Não compreendi nada, mas continua a ser divertido.

 
Vitaly Muzichenko:

Não compreendi nada, mas continua a ser divertido.

Bug.

Nenhum erro 4200 ao criar um objecto duplicado no gráfico não corrente (que dá no actual - [ver "GRÁFICO CORRENTE" em log]) ,

bem como descobriram que encontrar um objecto no GRÁFICO RECENTE CARTA demora até 500 vezes mais tempo do que encontrar o actual.

а :) porque afinal não sou o único

 
fxsaber:
Será que entendo correctamente que tais matrizes não podem ser inicializadas de forma sensata?

E só faz sentido como parâmetros de entrada para funções/métodos?

class A {
public:
        void f() {}
};
A* const a[10] = { NULL };
void OnStart()
{
        A *aa = new A;
         ((A *)a[ 9 ]) = aa; //нет ошибки при компиляции
               a[ 9 ].f();   //нет ошибки при выполнении
        Print( a[ 9 ] == aa ); //Результат: false
}

Poder-se-ia pensar que é possível, mas como se pode ver pelo exemplo - leva a erros difíceis de apanhar

 
A100:
((A *)a[ 9 ]) = aa; //нет ошибки при компиляции

Sim, há aqui um bug de compilador, mas nenhuma execução vai além deste ponto - ponteiro inválido.

Assim, de facto, não é possível uma inicialização.

 
fxsaber:

Sim, há aqui um bug de compilador, mas a execução não vai mais longe do que este lugar - ponteiro inválido.

Então o bug está também no facto de que para as versões de 32 bits (eu tenho exactamente uma) a execução é sem erros. ponteiro inválido - apenas se aumentar a classe com um membro, por exemplo, int i