Erros, bugs, perguntas - página 1119

 

Erro de compilação: o compilador pensa que estou a passar um ponteiro por referência

class A {
};

void f1( A*  a ) {}
void f2( int a ) {}

void OnStart()
{
        A* const a1 = new A();
        f1( a1 ); // ошибка компиляции: constant variable cannot be as reference
        const int a2 = 1;
        f2( a2 ); //все нормально
}

Se eu escrever f1( A* const a ), tudo se compila bem, mas eu não escrevo f2( const int a ) e no caso de f2( int a ) o compilador acerta


по сути
f1( A*  a ) отличается от f1( A* const  a )
тем же, чем
f2( int a ) отличается от f2( const int a )
então também deve haver um erro em f2( a2 )
 
Lone_Irbis:

Não quero afixar o código inteiro e .set para aqui, mas posso enviá-lo para algum lado.

Obrigado! Vamos tentar reproduzi-lo. O código pode ser enviado para servicedesk (depois de todas as verificações será garantida a sua eliminação).
 

Não é possível apagar um ponteiro const A*

class A {
};

void OnStart()
{
        const A *a = new A;
        delete( a ); //ошибка компиляции: constant cannot be modified
}

À primeira vista parece lógico - apagar chamadas destruidoras ~A(), e não pode ser constante (***)

MAS então seria em princípio impossível apagar o objecto no seguinte exemplo

void f()
{
    const A a;
}

porque o destruidor, que não pode ser constante, ainda é chamado ao sair f() e por isso a (***) doutrina não funciona

Além disso, o compilador C++ não impede a eliminação( a ), mesmo que o argumento seja declarado como const A * (o destruidor não pode ser declarado como const, porque é chamado para qualquer objecto, incluindo objectos não const)

 
já não conta para os postos(
 
GriFFon4ik:
já não conta para os postos(
Sim, já não ...
 
GriFFon4ik:
já não conta para os postos(
Tanto faz.
 
barabashkakvn:
Ah, bem.
triste :-(
 

Verifiquei o posto, não aumentou. Talvez haja alguma fórmula inteligente melhorada...

Fórum sobre comércio, sistemas comerciais automatizados e teste de estratégias comerciais

Interessante & Humoroso

newdigital, 2014.04.09 14:23

Deve ser proibido de pensar - é ofensivo!

As linhas são tricotadas num poema,
O mar lambe a terra seca.
Cocó de criança no penico,
♪ Os adultos fazem cocó nas suas almas ♪

O que quer que tenha acontecido à classificação.
 
newdigital:

Verifiquei o meu posto aqui - não aumentou. Talvez haja alguma fórmula inteligente melhorada...

O que quer que tenha acontecido à classificação.
Está a funcionar) mas não(
 
Parou a contagem da classificação das mensagens do fórum (
Bugs , website mql5.com , fechado , iniciativa: 2014.04.09 14:07 , # 993171

Parou a contagem da classificação das mensagens do fórum (



Grupo de apoio2014.04.09 15:27
O que o levou a pensar isso?
GriFFon4ik2014.04.09 17:38
Bem, costumava ser um comentário escrito, classificando imediatamente +1, mas agora não há "+1 imediatamente".
Grupo de apoio2014.04.09 17:38

Agora as classificações serão atribuídas periodicamente, com um atraso