| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > template function - friend |
| Автор: DarthGuyver 29.11.2010, 17:09 | ||||||||
| Здравствуйте, У меня внутри шаблона класс в открытой части определён ещё один класс (итератор), определяю для него friend функцию (оператор). В упрощённом виде так: Хэдер:
Мэйн:
И вот ошибка: error: no matching function for call to 'f(A<int>::I&)'| Почему компилятр не понимает что f - это та ф-я которую я определил? Добавлено через 14 минут и 57 секунд Аааа, понял проблему с f (); Забыл что её надо вызывать f<тип> (); А как в таком лучае быть с оператором (напримет "==")? Если написать:
а потом в мэйне:
компилятор понимает == как operator== а не operator==<int>, я правильно понимаю? |
| Автор: DarthGuyver 30.11.2010, 13:40 |
| Продолжаю свой монолог: Короче operator== сделал просто методом итератора и всё заработало!!! |