Страницы

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

пятница, 6 марта 2020 г.

Как правильно записать конструктор класса с полем map?

#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) ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ чтобы соответствовало объявлению в классе

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

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