Có cách nào có thể đặt biệt hiệu cho lớp mẫu lồng nhau với từ khóa using
không? Một cái gì đó như thế nàyLàm cách nào để đặt bí danh lớp mẫu lồng nhau với gói tham số variadic
template <typename... Types>
struct Something {
template <typename... TypesTwo>
struct Another {};
};
template <typename... Types>
template <typename... TypesTwo>
using Something_t = typename Something<Types...>::template Another<TypesTwo...>;
int main() {
Something_t<int><double>{};
return 0;
}
này câu trả lời template template alias to a nested template? cho thấy một cách để làm điều đó nhưng điều đó sẽ không còn làm việc nếu cả hai gói tham số là variadic, như trình biên dịch sẽ không biết bắt đầu và nơi để kết thúc danh sách loại nơi.
Tại sao bạn cần cách cụ thể như vậy? Bạn có thể thay đổi mã một chút và sử dụng mã tương tự 'Something_t :: Something2 ' –
LmTinyToon
@LmTinyToon Có thể làm mà không có nó nhưng tôi chỉ tự hỏi nếu nó là một điều. – Curious
@LmTinyToon Bởi vì anh ấy tò mò ...: P – 101010