Resultados da pesquisa a pedido "dynamic-cast"

3 a resposta

Não é possível dynamic_cast void * para a classe modelada

O erro exato que estou recebendo é: Não é possível dynamic_cast 'object' (do tipo 'void *') para digitar 'class udDator (int) *' (a origem não é um ponteiro para uma classe) Isso está acontecendo dentro de uma exclusão de operador substituída. ...

4 a resposta

Como escrever próprio dynamic_cast

Isso foi solicitado na entrevista. Como escrever próprio dynamic_cast. Eu acho que, com base na função de nome do typeid. Agora, como implementar o próprio typid? Eu não tenho idéia.

3 a resposta

Que tipo de elenco deve ser passado de pai para filho?

Esta questão é sobre quaisElenco no estilo C ++ [https://msdn.microsoft.com/en-us/library/5f6c9f8h.aspx]deve ser usado para fazer essa conversão. Estou ciente de que um elenco de estilo C pode conseguir isso. Para o seguinteclass ...

4 a resposta

Como o dynamic_cast é normalmente implementado?

O cheque de tipo é uma mera comparação de números inteiros? Ou faria sentido ter umGetTypeId função virtual para distinguir o que tornaria uma comparação inteira? (Só não quero que as coisas sejam uma comparação de string nos nomes ...

3 a resposta

Verificação em tempo de execução de um elenco de um vazio *

Diga que eu tenho umvoid* contendo um ponteiro para um desconhecidoclass. Eu quero usardynamic_cast para verificar em tempo de execução o tipo de classe que realmente tenho. Por exemplo: class Foo {}; void* bar = new Foo;Se eu tentar ...

8 a resposta

Testando uma classe c ++ para recursos

Eu tenho um conjunto de classes que descrevem um conjunto de caixas lógicas que podem conter e fazer coisas com elas. eu tenho struct IBox // all boxes do these { .... } struct IBoxCanDoX // the power to do X { void x(); } struct IBoxCanDoY // ...

3 a resposta

Verificando se um cross-cast poderia funcionar?

Sei que é legal usardynamic_cast para fazer uma "conversão cruzada" em uma hierarquia de classes. Por exemplo, se eu tiver classes parecidas com esta: A B \ / CSe eu tiver umA* ponteiro que está apontando para um objeto do tipoC, então eu posso ...

2 a resposta

elenco dinâmico lança ponteiro não é std :: __ non_rtti_object

Estou tendo problemas com o dynamic_cast. Eu apenas compilei meu projeto e testei tudo no modo de depuração e, em seguida, tentei compilá-lo no modo de liberação, copiei todas as configurações do parâmetro de otimização do modo de depuração que ...

2 a resposta

C ++: Comparando ponteiros de classes base e derivad

Gostaria de obter algumas informações sobre práticas recomendadas ao comparar indicadores em casos como este: class Base { }; class Derived : public Base { }; Derived* d = new Derived; Base* b = dynamic_cast<Base*>(d); // When comparing the two ...

3 a resposta

C ++: “… não é do tipo polimórfico” ao usar boost :: dynamic_pointer_cast

Por que recebo o seguinte erro para o seguinte código? 1>C:\Libs\boost_1_44\boost/smart_ptr/shared_ptr.hpp(259): error C2683: 'dynamic_cast' : 'my_namespace::A' is not a polymorphic type 1> D:\[location]\[header_filename].h(35) : see declaration ...