class MyClass {
public:
register_callback(int, void*);
}
typedef boost::shared_ptr<MyClass> myClass_p;
class MyOtherClass {
public:
registerItem(std::pair<std::string, myClass_p>insertItem) {
auto foo = insertItem.second;
void *bar = static_cast<void*>(foo);
}
Vu le code ci-dessus, pourquoi suis-je recevoir « static_cast:.. Ne peut pas convertir myClass_p d'annuler * Je pensais que vous pourriez lancer tout pointeur vers un vide *ne peut pas lancer d'annuler *
'foo' n'est pas un pointeur; c'est un 'boost :: shared_ptr'. –
Justin
@CaptainObvlious Je ne pense pas que les conversions implicites à 'void *' sont en C++ – NathanOliver
@NathanOliver Ce n'était pas exactement clair. Je faisais référence aux pointeurs pas 'boost :: shared_ptr'. –