引数リスト全体を可変個引数テンプレートから継承するとします。引数はどのように継承されますか?
// snippet
template<typename... R>
class foo
: public R... {
public:
};
// ....
using foo_inst = foo<bar_1, bar_2>;
私はそれを試してみましたが、すべて R
が public に継承されているようです(最初のものだけではありません)。これは定義された動作ですか?
gcc と msvc で試してみました ( clang でもjaggedSpireに感謝します)、すべて同じ結果でした。コンパイラは、警告についても言及していません。ここで実行例を見ることができます。