Tôi cần phải thực hiện chức năng biên dịch tự phục vụ để kiểm tra tính bình đẳng loại (mẫu chức năng không có đối số bool eqTypes<T,S>()
).chức năng biên dịch thời gian để kiểm tra mức độ bình đẳng
phương tiện tự chứa không dựa vào thư viện.
Tôi không giỏi trong tất cả điều này. Đó là những gì tôi đã thử, nhưng đó không phải là những gì tôi cần.
template<typename T>
bool eq_types(T const&, T const&) {
return true;
}
template<typename T, typename U>
bool eq_types(T const&, U const&) {
return false;
}
Bạn có được phép sử dụng ['std :: is_same'] (http://en.cppreference.com/w/cpp/types/is_same) không? – juanchopanza
http://stackoverflow.com/a/3450395/168175 cho thấy làm thế nào để thực hiện nó cho mình, nhưng nó sẽ cần (tầm thường) thích ứng để được một chức năng thay vì một cấu trúc. – Flexo