Tôi đang gặp vấn đề với việc suy ra loại phần tử đơn lẻ của mảng C++.Có cách nào để suy ra một loại phần tử đơn lẻ của một mảng trong C++
Tôi muốn làm được điều gì đó như:
template <class T>
struct array_element { };
template <class T>
struct array_element<T[]> {
using type = T;
};
int main() {
int a[5] = {1, 2, 3, 4, 5};
array_element<decltype(a)>::type element = a[0];
}
Nhưng mã rõ ràng là không biên dịch (int [5] không phù hợp với T []) ...
Tất nhiên! Cảm ơn! –
Mã thực tế phức tạp hơn một chút (là đối số mẫu bên trong) và sử dụng cách tiếp cận với 'decltype' sẽ không được sạch lắm ... Nhưng đề xuất của bạn với thông số bổ sung về chuyên môn phù hợp hoàn hảo! –