可変個引数テンプレートを使用するコードがあり、省略記号を配置する場所を理解しようとしています。以下のコードでは、エラーが示すように、テンプレート パラメーター リストの最後に配置しています。しかし、私はまだエラーが発生します。私は何を間違っていますか?
template <typename T> struct S {
void operator << (const T &) {}
};
template <template <typename, typename...> class ... F, typename T = int>
struct N : S<F<T>> ... {};
prog.cpp:10:82: error: parameter pack 'F' must be at the end of the template parameter list