Есть класс считывания данные из файла выполненный через итератор:
template <typename IData>
class CExtractorIterator : public std::iterator<std::input_iterator_tag, IData>
чтобы можно было считывать данные через итераторы и for:
for (CExtractor<IExtractorData>::iterator it = extractor.begin(); it != extractor.end(); ++it)
В классе CExtractorIterator есть такой метод:
template <typename IData>
typename CExtractorIterator<IData>::reference
CExtractorIterator<IData>::operator*
() const
{
return *(IData*)(m_extractor->m_fileBuffer + sizeof(IData) * m_extractor->m_localRecordIndex);
}
Все работало замечательно, пока не применил инструкцию для компиляции /std:c++17, чтобы можно было использовать std::filesystem::create_directory (иначе компилятор упорно не видел
И в результате появилась ошибка:
Severity Code Description Project File Line Suppression State Error C2244 'CExtractorIterator::operator *': unable to match function definition to an existing declaration traffic extractor.h 95
Подскажите в чем ошибка - что-то не понимаю на ночь глядя :(
Продвижение своими сайтами как стратегия роста и независимости