Почему Map с указателем на шаблонный функтор в качестве value_type не работает? - PullRequest
0 голосов
/ 22 января 2011

Visual Studio работает, когда я пытаюсь создать std :: map с типом значения, указывающим на шаблон-функтор.Я делаю что-то незаконное здесь?

// Functor prototype
template< class T, class evenT>
class FunctionHandler {};

// std::Map definition
template <class T, class evenT>
map<int, FunctionHandler<T, evenT>* > lookup;

Может кто-нибудь сказать мне, если это ошибка (и почему это неправильно) или это просто Visual Studio?

1 Ответ

3 голосов
/ 22 января 2011

Проблема в том, что у вас не может быть "шаблона переменной".Это не имеет никакого смысла.

Вам необходимо создать переменную с определенным типом (то есть определенными значениями для T и evenT) или сделать что-то вроде:

template <class T, class evenT>
class SomeClass
{
    map<int, FunctionHandler<T, evenT>* > lookup;
};
...