Хорошо, я только изучаю шаблоны.В любом случае, я, вероятно (совершенно определенно) что-то делаю не так, но вот проблема:
Моя первая функция шаблона объявлена так:
template<typename T>
std::ostream& printFormatted(T const& container, std::ostream& os = std::cout) {
//...
}
Затем я должен реализоватьспециализированный случай для карт, поэтому я попытался сделать следующее:
template<>
std::ostream& printFormatted<std::map<typename key, typename value>>(std::map<typename key, typename value> const& container, std::ostream& os = std::cout) {
//...
}
Возможно, я ошибаюсь с моими переменными ключ / значение, не уверен, но независимо от того, при попытке компилирования я получаюсообщение об ошибке:
error: wrong number of template arguments (1, should be 4)
error: provided for ‘template<class _Key, class _Tp, class _Compare, class _Allocator> class std::__debug::map’
Очевидно, что что-то я не понимаю в шаблонах или картах?Кто-нибудь, пожалуйста, помогите?