Не могу понять, как правильно оформить шаблон функции в классе.
Компилятор показывает ошибку: no matching function for call to ‘MyClass::addData()’
MyClass.h
class MyClass
{
void caller();
template <typename T>
void addData(std::string key_map);
template <typename T>
T isIterator(std::string key_map);
map_type map_data;
};
MyClass.cpp
void MyClass::caller()
{
addData(key_map);
};
template <typename T>
void MyClass::addData(std::string key_map)
{
T iterator = isIterator(key_map);
if(iterator != false) {
// далее по замыслу пользуюсь итератором
}
}
template <typename T>
T MyClass::isIterator(std::string key_map)
{
appropriate_iterator_type iterator = this->map_data.find(key_map);
if (iterator != this->map_data.end())
{
return iterator;
}
return false;
};
Извиняюсь, если написал откровенную дичь, новичок в этом вопросе. Гугл уводит меня в дебри, в которых я пока слабо разбираюсь.