Ir para conteúdo
Fórum Script Brasil
  • 0

Erro De Compilação


fbafelipe

Pergunta

Ao tentar compilar este código:

#include <iostream>

class A{
    public:
        virtual ~A(){}
        
        inline void foo() const{
            std::cout << "Foo\n";
        }
};

class B : public A{
    public:
        void foo(int x){}
};

int main(int argc, char *argv[]){
    B b;
    b.foo();
}

O g++ retorna o seguinte erro:

teste.cpp: In function ‘int main(int, char**)’:

teste.cpp:19: erro: no matching function for call to ‘B::foo()’

teste.cpp:14: nota: candidates are: void B::foo(int)

alguém sabe o porque deste erro?

Obrigado

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Obrigado pela ajuda.

Caso alguém tenha o mesmo problema, esse é o código funcionando:

#include <iostream>

class A{
    public:
        virtual ~A(){}
        
        inline void foo() const{
            std::cout << "Foo\n";
        }
};

class B : public A{
    public:
        void foo(int x){}
        
        using A::foo;
};

int main(int argc, char *argv[]){
    B b;
    b.foo();
}

Para evitar que o método seja escondido basta adicionar using A::foo;

Obrigado

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...