0

次のように、クラス内の型fを型定義して、いくつかのパラメーターを受け取る std::functionにできるようにしたいと考えています。その数と型は、クラスのテンプレート パラメーターに依存します。

#include <functional>

template <typename ... Args>
class SomeClass
{
    typedef std::function<void(Args)> f;
};

ただし、これは機能しません。-std=c++0x を指定した g++ は、「エラー: パラメータ パックが '...' で展開されていません。

私は新しい C++11 機能の束に頭を悩ませようとしていますが、非常に明白な解決策を見落としている可能性は十分にあります。どんな助けでも大歓迎です。

4

1 に答える 1

2

エラーメッセージは、何が問題で、どのように解決できるかを正確に示しています...省略記号を追加します。

typedef std::function<void(Args...)> f;
于 2013-01-17T13:03:17.410 に答える