Страницы

Поиск по вопросам

среда, 22 мая 2019 г.

Как правильно записать конструктор класса с полем 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 надо обязательно


Ответ

Ваша функция должна быть определена как
template hashtable::hashtable(kType k, vType v) ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ чтобы соответствовало объявлению в классе

Комментариев нет:

Отправить комментарий