На данный вопрос уже ответили:
Всех приветствую. Недавно начал свой путь познаний 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?
Определения шаблонных сущностей должны располагаться в заголовочных файлах. Скомпилировать отдельно, в отдельном файле так, чтоб ими можно было воспользоваться из другого файла - можно, но сложно и надо знать заранее, для каких именно типов.
Так что возвращайте определение назад в заголовочный файл.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости