Với tham chiếu đến đoạn mã sauphần mẫu chuyên môn với mismatching 'int` và' size_t` không biên dịch
#include <utility>
#include <cassert>
template <typename T>
struct Wot;
template <int... ints>
struct Wot<std::index_sequence<ints...>> {};
int main() {
assert(sizeof(Wot<std::index_sequence<1, 2, 3>>) == 1);
}
này hoạt động trên kêu vang nhưng không hoạt động trên gcc, khi tôi thay đổi kiểu của chuyên môn hóa từng phần để chấp nhận std::size_t
trong chuỗi chỉ mục, tuy nhiên nó hoạt động.
Ai là đúng? Clang hoặc gcc?
Xem nhóm này trong hành động ở đây https://wandbox.org/permlink/5YkuimK1pH3aKJT4