Erros, bugs, perguntas - página 1732

 

Não percebo se isto é um insecto ou deveria ser? Os valoresENUM_CHART_PROPERTY_INTEGER são definidos como[UNKNOWN ENUM]:: Por exemplo:

- CHART_WINDOWS_TOTAL é definido como[UNKNOWN ENUM]::101

-CHART_WINDOW_IS_VISIBLE - definido como [UNKNOWN ENUM]::102

E, claro, a funçãoChartSetInteger gera erro 4109 - Falsa identificação da propriedade do gráfico.

MT5 e ME v1447 x64 versão

 
fxsaber:
Como podemos justificar essa const A * == A const *? Não é.

Temos 3 lugares para colocar const.

(1)const <type> (2)const * (3)const

(1) para um tipo (3) para um ponteiro, não há opções aqui. Faz sentido referir (2) a um tipo porque o ponteiro é um atributo do tipo e não o inverso.

 
Комбинатор:

Temos 3 lugares para colocar const.

(1)const <type> (2)const * (3)const

(1) para digitar (3) para apontar, não há opções aqui. E (2) é logicamente atribuído ao tipo porque o ponteiro é um atributo do tipo e não o inverso.

(1)const <type> (2)const * (3)const &

  1. tipo.
  2. ponteiro
  3. referência.
Da esquerda para a direita lê-se.
 
fxsaber:

(1)const <type> (2)const * (3)const &

  1. tipo.
  2. ponteiro
  3. referência.
Ler da esquerda para a direita.
isso ajudaria?
 
fxsaber:

Em primeiro lugar, pela própria natureza da ligação, não faz sentido torná-la constante.

Em segundo lugar, se fizesse sentido,

const A * const & const [] -- isto é o que eu penso ser correcto.

 
Комбинатор:

Em primeiro lugar, pela própria ideia da ligação, não faz sentido torná-la constante.

Segundo, se houvesse sentido nisso,

const A * const & const [] -- esta é uma notação correcta, penso eu.

Faz sentido tornar a referência uma constante. Mas vejo a entrada como ilógica.

Eu estava a apreciar uma bela árvore de entendimento linguístico mas aqui vê-se tal vandalismo ))

 
fxsaber:

Faz sentido tornar a referência uma constante.

Um exemplo?

 
Комбинатор:

Um exemplo?

Quando se pretende assegurar que os elementos e o tamanho de uma matriz não são alterados.
 
fxsaber:
Quando se pretende garantir que os elementos e o tamanho da matriz não serão alterados.

A referência para arrays é uma muleta na linguagem MQL, não uma referência.

E se [] é um modificador de tipo como *, deve ter a sua própria const! e não uma referência.

 
coderex:

- CHART_WINDOWS_TOTAL - definido como[UNKNOWN ENUM]::101

-CHART_WINDOW_IS_VISIBLE - definido como [UNKNOWN ENUM]::102

E, claro, a funçãoChartSetInteger gera erro 4109 - Faulty Chart Property Identifier.

O erro é justificado - estes identificadores são especificados como ReadOnly (r\o) na Documentação https://www.mql5.com/ru/docs/constants/chartconstants/enum_chart_property, que não é compatível com ChartSetInteger
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5