На данный вопрос уже ответили:
Всех приветствую. Недавно начал свой путь познаний C++.
Честно говоря, темы такой мной не было найдено, по этой причине создаю новую.
К примеру, есть такой хэдер-класс:
People.h
class People{
public:
void SomeMethod();
template<class T>
T ReadPeopleInfo(T& data, T& yet_data);
};
Как можно реализовать ReadPeopleInfo в cpp файле?
Пробовал так:
People.cpp
T People::ReadPeopleInfo(T& data, T& yet_data){
}
выдает ошибку
Ошибка E0795 для специализации шаблон функции "People::ReadPeopleInfo" требуется синтаксис "template<>"
Как быть?
P.S В дальнейшем нужно будет сделать single-pattern, по этому template нужно запихать в class
Да как и объявляли:
template<class T>
T People::ReadPeopleInfo(T& data, T& yet_data)
{
....
}
Только вот после этого у вас сразу будет вопрос - почему линковщик говорит, что не видит People::ReadPeopleInfo
?
Определения шаблонных сущностей должны располагаться в заголовочных файлах. Скомпилировать отдельно, в отдельном файле так, чтоб ими можно было воспользоваться из другого файла - можно, но сложно и надо знать заранее, для каких именно типов.
Так что возвращайте определение назад в заголовочный файл.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Суть вопроса: почему, если закоментировать dest = new char [lSrc];, то функция работает (с оговорками), а без коммента - dest никак не меняется?
У меня следующий вопрос по QtЯ создал журнал событий, вывод свойств этих событий
Почему в devcpp strcmp возвращает только 0, 1, -1 а не разницу символов в коде ascii в отличии от других компиляторов?
Как правильно написать шаблонную функцию для нахождения максимума двух чисел?