Tôi muốn viết các mẫu để xây dựng giả sử một cổng đầu vào. Điều đó có thể được thực hiện từ một cổng đầu vào-đầu ra đơn lẻ hoặc từ danh sách các chân đầu vào. Tôi thích những mẫu đó có cùng tên. Tôi có các khái niệm cho cả cổng đầu vào-đầu ra và các chân đầu vào. Tôi có thể viếtMẫu C++ có thể khớp với (chỉ) danh sách một loại hoặc một loại khác không?
template< typename... arguments >
struct port_in ....
template< pin_in T >
struct port_in<> ....
Nhưng bây giờ phiên bản danh sách sẽ chấp nhận bất kỳ loại nào. Tôi có thể kiểm tra rằng trong quá trình thực hiện, nhưng điều đó sẽ làm suy giảm thông báo lỗi mà người dùng nhận được khi anh ấy chuyển các loại không phù hợp. Tôi có thể bằng cách nào đó hạn chế danh sách cho một loại, nhưng cho phép một tham số mẫu đơn của loại khác không?
Điều này có vẻ tốt. Tôi sẽ thử nó vào ngày mai. Những gì tôi đã mất là khả năng cho một khái niệm để chấp nhận một danh sách. –
'khái niệm' không chuẩn. – SergeyA
Có, nhưng tôi đang sử dụng các khái niệm (câu hỏi được gắn thẻ với 'khái niệm C++', và tôi đề cập đến các khái niệm trong văn bản câu hỏi. –