Erros, bugs, perguntas - página 1586

 

Erro de compilação

class A { public:
        void operator[]( int i ) {}
};
class B { public:
        B() : a( new A ) {}
        ~B() { delete a; }
        A *a;
        void f() const { a.operator[]( 0 ); } //нормально
        void g() const { a[ 0 ]; }            //error: call non-const method for constant object
        void h() const { (*a)[ 0 ];           //error: call non-const method for constant object
};
 
Onde "normal" é, deve haver um erro. O operador é definido, não como constante.
 
Anton Zverev:
Onde "normal" é, deve haver um erro. O operador é definido, não como constante.
"Psiquiatra" recebe hoje um D
 
A100:
'Psiquiatra' recebe hoje um D
class A { public:
        void operator[]( int i ) const {} // const добавил
};
class B { public:
        B() : a( new A ) {}
        ~B() { delete a; }
        A *a;
        void f() const { a.operator[]( 0 ); } // нет ошибки
        void g() const { a[ 0 ]; }            // нет ошибки
};
 
Anton Zverev:
É a versão desktop do Cinco de que estamos a falar. Não há modo de ar.
O que é que o terminal tem a ver com isto?! É necessário desactivar a Internet no computador, e a acção mais fácil é activar o modo avião. Ou ir para as definições e desactivar o adaptador de rede.
 
Anton Zverev:

Aprenda a combinar

 
Karputov Vladimir:
O que é que o terminal tem a ver com isto?! É necessário desactivar a Internet no computador, e a acção mais fácil é ligar o modo "On Plane". Ou entrar em definições e desactivar o adaptador de rede.
Onde está esse modo em Win7?! Lamento, mas sou um utilizador muito fraco.
 
Anton Zverev:
Onde está esse modo em Win7?! Desculpe, mas sou um utilizador muito fraco.
Win7? Não sei tal :) .I have WIndows 10.
 
A100:
Aprenda a combinar.
Adoraria aprender, mas o Google não compreende onde errei. Poderia resumir o ponto do meu mal-entendido? Vejo um erro de compilação no seu exemplo na linha "normal". Na minha mente, o compilador deveria ter-se desfocado.
 
Anton Zverev:
Adoraria aprender, mas o Google não compreende ...
Homens muito duros não perguntam ao Google, eles perguntam ao freixo :))