Как инициализировать словарь из стандартной библиотеки.

 

Товарищи, помогите с простым вопросом.

Мне нужен ассоциативный массив, ну или словарь, если по питоновски говорить.

в стандартной библиотеке у меня есть интерфейс IMap<TKey, TValue>

Я написал так:

#include <Generic\HashMap.mqh>
#include <Generic\Interfaces\IMap.mqh>

class CSlovar: public IMap<int,double>
  {
public:
                     CSlovar(void);
                    ~CSlovar(void);
  };

пока всё работает. Но как только я объявляю переменную класса CSlovar то всё падает.

CSlovar my_dict;

Вообщем хочу словарь, как правильно его описать?

 

Вы про это?

#include <Generic\\HashMap.mqh>

CHashMap<string,int> my_symbol_id;
 
Aliaksandr Hryshyn #:

Вы про это?

Нет. Мне надо чтобы я обращался к своей переменной my_dict и мог использовать встроенные методы Add, Remove и т.д.

 

Так это и есть объявление. Дальше так:

my_symbol_id.Add("USDDDD",2);
my_symbol_id.Add("EUR",2);
my_symbol_id.Remove("EUR");
Смотрите в справке по CHashMap
 
Aliaksandr Hryshyn #:

Так это и есть объявление. Дальше так:

А точно, всё норм работает. Так мне получается надо было бы полностью самому реализовывать интерфейс, а класс CHashMap как раз это всё и делает. Получается я не дочитал до конца. Спасибо дружище, то что надо ! :)

 
Alexey Oreshkin #:

А точно, всё норм работает. Так мне получается надо было бы полностью самому реализовывать интерфейс, а класс CHashMap как раз это всё и делает. Получается я не дочитал до конца. Спасибо дружище, то что надо ! :)

Пожалуйста

 
А могу ли я вместо значения ( TValue ), передать массив double?
Причина обращения: