Làm cách nào để xác định loại trả về của hàm chung thành viên?Mẫu C++ xác định kiểu trả về hàm
template<class E>
struct result<E> {
// E has member function data(), I need to know its return type
typedef typename &E::data type;
};
có thể thực hiện theo cách chung chung không? Tôi biết có boost:: result_of
nhưng vì mục đích của tôi thiếu chuyên môn (nếu tôi hiểu đúng, loại trả về phải là chuyên môn). tăng cường triển khai sẽ tuyệt vời.
Có lẽ, bạn không cần phép thuật đó chút nào. Hãy thử sử dụng 'E :: value_type *' hoặc 'E :: pointer'. Nếu nó có 'data()', nó có thể là một container và cung cấp các typedef công cộng. –
@Johannes cảm ơn bạn. thực sự đã cố gắng viết trình bao bọc để làm việc một cách minh bạch với ublas và những thứ khác. Thật không may giao diện dữ liệu ublas() là một chút không chuẩn (array_type) vì vậy tôi đã kết thúc chuyên nó một cách riêng biệt. – Anycorn