2010-12-03 4 views
1

Dans notre société, nous utilisons un système de plugin que j'ai écrit en utilisant le système de plug-in QT. Chaque plugin a des "fonctions nécessaires" et des "fonctions propres" donc, si un plugin a besoin d'une fonction appelée * func_1 *, il doit y avoir un plugin qui a une fonction appelée * func_1 *.Comment passer un pointeur vers un plugin C++

Cela fonctionne très bien, mais maintenant j'ai un problème: un plugin doit connaître le pointeur vers un objet de classe que l'autre plugin utilise mais qui est externe. Je ne peux pas mettre d'informations sur cette classe dans l'interface des plugins car cela n'a rien à voir avec ça. La seule solution que j'ai, est d'écrire une fonction d'interface avec laquelle je peux passer des pointeurs de vide, mais j'aimerais savoir s'il y a d'autres solutions peut-être moins de style C.

Merci d'avance.

+0

La question est assez floue. Pouvez-vous fournir un cas de test? –

+0

Ou dois-je demander en italien? :) – marco

+0

J'ai juste besoin de passer un pointeur de à un plugin d'un autre plugin, rien d'étrange. Mais j'essaie de boost :: tout comme suggéré et ça a l'air bien. – marco

Répondre

1

Le "remplacement" C++ moderne pour un pointeur vide est quelque chose comme Boost.Any. Cela vous permettra de passer n'importe quoi à travers l'interface, tout en vous offrant un certain type de sécurité.

+0

Boost.Any? ok merci, je vais jeter un coup d'oeil. – marco

+0

Merci encore, j'ai utilisé boost :: any et c'est parfait. – marco

Questions connexes