2010-12-03 14 views
1

私たちはQTプラグインシステムを使って書いたプラグインシステムを使用しています。 各プラグインには「必要な機能」と「独自の機能」がありますので、プラグインに* func_1 *という機能が必要な場合は、* func_1 *という機能を持つプラグインが必要です。C++プラグインへのポインタを渡す方法

これは素晴らしいですが、今問題があります。プラグインは、別のプラグインが使用する特定のクラスオブジェクトへのポインタを知る必要がありますが、それは外部です。このクラスに関する情報は、プラグインインターフェイスには何も置くことができません。プラグインインターフェイスとは何の関係もありません。

私が持っている唯一の解決策は、私はvoidポインタを渡すことができるインターフェイス関数を書くことですが、おそらくCスタイルが他のソリューションであるかどうかを知りたいと思います。

ありがとうございます。

+0

質問はかなり不明です。あなたはテストケースを提供できますか? –

+0

イタリア語でお願いしますか? :) – marco

+0

私は​​のポインタを別のプラグインからのプラグインに渡す必要があります。何も変わっていません。しかし、私はboost :: anyを示唆しているように試しています。 – marco

答えて

1

voidポインタの現代的なC++「置き換え」は、Boost.Anyのようなものです。それはあなたがインターフェイスを介して何かを渡すことができますし、それでもあなたに特定の型安全性を与えます。

+0

Boost.Any?よろしくお願いします。 – marco

+0

もう一度、boost :: anyを使用しました。これは完璧です。 – marco

関連する問題