Resultados de la búsqueda a petición "dynamic-cast"

3 la respuesta

No se puede dinámico_cast void * a clase con plantilla

El error exacto que obtengo es: No se puede hacer Dynamic_cast 'object' (de tipo 'void *') para escribir 'class udDator (int) *' (el origen no es un puntero a una clase) Esto está sucediendo dentro de una eliminación de operador anulada. ...

4 la respuesta

Cómo escribir propio dynamic_cast

Esto se ha pedido en la entrevista. Cómo escribir propio dynamic_cast. Creo que, sobre la base de la función de nombre de typeid. ¿Ahora cómo implementar el propio Typid? No tengo idea de eso.

3 la respuesta

¿Qué tipo de yeso va de padres a hijos?

Esta pregunta es sobre quéReparto de estilo C ++ [https://msdn.microsoft.com/en-us/library/5f6c9f8h.aspx]debe usarse para hacer esta conversión. Soy consciente de que un elenco de estilo C puede lograr esto. Para el siguienteclass ...

4 la respuesta

¿Cómo se implementa normalmente dynamic_cast?

¿Es el tipo de verificación una mera comparación de enteros? ¿O tendría sentido tener unGetTypeId ¿Función virtual para distinguir cuál lo haría una comparación de enteros? (Simplemente no quiero que las cosas sean una comparación de cadenas en ...

8 la respuesta

Probar una clase de c ++ para características

Tengo un conjunto de clases que describen un conjunto de cuadros lógicos que pueden contener cosas y hacerles cosas. yo tengo struct IBox // all boxes do these { .... } struct IBoxCanDoX // the power to do X { void x(); } struct IBoxCanDoY // ...

3 la respuesta

Verificación en tiempo de ejecución de un elenco desde un vacío *

Di que tengo unvoid* que contiene un puntero a un desconocidoclass. Quiero usardynamic_cast para hacer una verificación en tiempo de ejecución del tipo de clase que realmente tengo. Por ejemplo: class Foo {}; void* bar = new Foo;Si intento ...

3 la respuesta

¿Verifica si un reparto cruzado podría funcionar?

Sé que es legal usardynamic_cast para hacer un "reparto cruzado" en una jerarquía de clases. Por ejemplo, si tengo clases que se ven así: A B \ / CSi tengo unaA* puntero que apunta a un objeto de tipoC, entonces puedo usar A* aPtr = /* ... ...

2 la respuesta

puntero de lanzamiento de lanzamiento dinámico no es estándar :: __ non_rtti_object

Tengo problemas con dynamic_cast. Acabo de compilar mi proyecto y probé cada cosa en modo de depuración y luego intenté compilarlo en modo de lanzamiento, he copiado todas las configuraciones del parámetro de optimización de modo de depuración ...

2 la respuesta

C ++: Comparación de punteros de clases base y derivadas

Me gustaría obtener información sobre las mejores prácticas al comparar punteros en casos como este: class Base { }; class Derived : public Base { }; Derived* d = new Derived; Base* b = dynamic_cast<Base*>(d); // When comparing the two pointers ...

3 la respuesta

C ++: "... no es un tipo polimórfico" mientras se usa boost :: dynamic_pointer_cast

¿Por qué recibo el siguiente error para el siguiente 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 ...