Có thể trộn các kiểu và các kiểu nontypes trong các tham số mẫu của Denisdic không? Nếu tôi đã vượt qua một ví dụ std::array
cho lớp này như tham số T
, tôi cũng sẽ cần phải vượt qua một loại cho mảng và độ dài, nhưng cách tôi đã thử nó dưới đây gây ra lỗi khi gặp phải một giá trị, vì nó chỉ mong đợi loại cho Types
:Trộn các kiểu và các kiểu nontypes trong các tham số mẫu của Denisdic?
template <
template<class, std::size_t> class T,
class ... Types>
class C {
T<Types...> storage;
};
int main(){
C<std::array, int, 3> c;
}
thông báo lỗi:
error: template argument for template type parameter must be a
type
Container<std::array, int, 3> c;
^
có cách nào để vượt qua các loại và giá trị trong một bối cảnh variadic?