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

[RESOLVIDO] undefined symbol 'dynamic_cast'


Cantagalo

Pergunta

Olá e desde já agredeço a boa alma que me ajudar!

Estou utilizando o Turbo C++ com o compilador da Borland e quando utilizo o operador dynamic_cast recebo o seguinte retorno:

undefined symbol 'dynamic_cast'

O que será que esta errado?

Até mais!

Editado por Cantagalo
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Desculpa, achei que nesta questão em expecífico o código seria irrelevante...

Segue, então, o código:

#include <iostream.h>

class Mammal

{

public:

Mammal():itsAge(1) { cout << "Mammal constructor...\n"; }

~Mammal() { cout << "Mammal destructor...\n"; }

virtual void Speak() const { cout << "Mammal speak!\n"; }

protected:

int itsAge;

};

class Cat : public Mammal

{

public:

Cat() { cout << "Cat constructor...\n"; }

~Cat() { cout << "Cat destructor...\n"; }

void Speak () const { cout << "Meow\n"; }

void Purr () const { cout << "Rrrrrrrrrrr\n"; }

};

class Dog : public Mammal

{

public:

Dog() { cout << "Dog constructor...\n"; }

~Dog() { cout << "Dog destructor...\n"; }

void Speak () const { cout << "Woof\n"; }

};

int main ()

{

const int NumberMammals = 3;

Mammal *Zoo[NumberMammals];

Mammal *pMammal;

int choice, i;

for (i = 0; i < NumberMammals; i++)

{

cout << "(1) Dog (2) Cat: ";

cin >> choice;

if (choice == 1)

pMammal = new Dog;

else

pMammal = new Cat;

Zoo = pMammal;

}

cout << "\n";

for (i = 0; i < NumberMammals; i++)

{

Zoo -> Speak();

Cat *pRealCat = 0;

pRealCat = dynamic_cast <Cat*> (Zoo);

if (pRealCat)

pRealCat -> Purr();

else

cout << "uh oh, not a cat!\n!";

delete Zoo;

cout << "\n";

}

return 0;

}

Agradeço a atenção!

Link para o comentário
Compartilhar em outros sites

  • 0

Não tem nada de errado com o seu cast. Que versão de Turbo C++ você está usando? Se for a versão 3.x (DOS), pode esquecer. Ela é de 1992; anterior à norma 14882-1998, quando o recurso "dynamic_cast" foi incluído à linguagem (capítulo 5, seção 2.7). Use outro compilador. Recomendo o BCC v5.5.1. É grátis e funciona bem, na maior parte dos casos. Download aqui.

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...