Программирование в вопросах и ответах
#cpp #stl #map #шаблоны_с++
//hashtable.h #pragma once #include #include #include using namespace std; template class hashtable { private: map *table; public: hashtable(kType k, vType v); ~hashtable(); }; //hashtable.cpp #include "hashtable.h" template hashtable::hashtable() { // ??? Compiler Error C2955 ('hashtable': use of class template requires template argument list) } Could you tell me what is wrong there? Возможно ли вообще и если да, то как записать map в качестве поля класса? Так чтобы можно было написать hashtable и получался ассоциативный массив с ключем в виде char* и параметром int, но чтобы была возможность задать и другие типы? по ТЗ, использовать map надо обязательно
Ответ 1Ваша функция должна быть определена как template hashtable::hashtable(kType k, vType v) ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ чтобы соответствовало объявлению в классе
Комментариев нет:
Отправить комментарий