考虑我从可变参数模板继承整个参数列表。论据是如何继承的?
// snippet
template<typename... R>
class foo
: public R... {
public:
};
// ....
using foo_inst = foo<bar_1, bar_2>;
我试过了,似乎所有 R
的都是继承的 public(不仅仅是第一个)。这是定义的行为吗?
我使用 gcc 和 msvc 进行了尝试(感谢jaggedSpire也使用了 clang),结果都相同。编译器甚至没有提到任何警告。您可以在此处查看一个正在运行的示例。