wrong number of template arguments
От: makdak  
Дата: 15.06.15 05:36
Оценка:
Всем привет!
подскажите как можно сделать что-то подобное на это:

struct for_reciver_1 {int data;};
struct for_reciver_2 {int data; int error_code;};


template<class VALUE>
struct reciver_t
{
    std::map<int, VALUE> m;

    void add_data(int data)
    {
        m.insert(std::make_pair(data, VALUE()));
    }
};


struct sender_t
{
    std::map<reciver_t*, int> m;

    void add_recv(reciver_t *r, int i)
    {
        m.insert(std::make_pair(r,i));
    }

    void update_recv_list()
    {
        // функция перевыполняясь в отдельном потоке, периодически отправляет reciver'ам данные
        while (true)
            for (auto &it : m) 
                it.first->add_data(it.second);
    }
};


int main()
{
    sender_t sender;

    reciver_t<for_reciver_1> reciver_1;
    reciver_t<for_reciver_2> reciver_2;

    sender.add_recv(&reciver_1, 1);
    sender.add_recv(&reciver_2, 2);

    sender.update_recv_list();
}



но чтобы работало?
c++14 приветствуется.
Спасибо!
Отредактировано 15.06.2015 5:43 makdak . Предыдущая версия . Еще …
Отредактировано 15.06.2015 5:43 makdak . Предыдущая версия .
Отредактировано 15.06.2015 5:40 makdak . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.