重複の可能性:
「……」トークンの意味は何ですか?
関数型を直接指定する(少なくともテンプレートパラメーターとして)比較的新しい方法があります。これが厳密にC++11であるかどうかはわかりませんが、GCC4.7のSTLヘッダーを読んでいるときに遭遇しました。
こんな感じです:
std::function<void(int, char**)> f;
そして今、ヘッダーファイル<functional>
に次のように表示されます。
template <typename R, typename... A>
struct SomeStruct<R(A...)> { /* */ };
SomeStruct
これは理解できます:戻り型R
と引数の型を持つ関数型の明示的な特殊化A
。
しかし、この宣言(次の行)を検討してください。
template <typename R, typename... A>
struct SomeStruct<R(A......)> { /* */ };
その二重省略記号はどういう意味ですか?