В том то и дело, что на sci = find(buf.begin(),buf.end(),'a'); не ругается. Компилируется нормально. Мне нужно найти следующее вхождение символа \а.
Полное описание ошибки...
Код: Выделить всё
d:\lex\myprograms\учеба\глава5пр12\глава5пр12\глава5пр12.cpp(30) : error C2782: '_InIt std::find(_InIt,_InIt,const _Ty &)' : template parameter '_InIt' is ambiguous
c:\program files\microsoft visual studio 9.0\vc\include\algorithm(72) : see declaration of 'std::find'
could be 'std::_String_iterator<_Elem,_Traits,_Alloc>'
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Alloc=std::allocator<char>
]
or 'std::_String_const_iterator<_Elem,_Traits,_Alloc>'
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Alloc=std::allocator<char>
]
Build log was
--------------------------------------------------------------------------------
Добавленное сообщение
--------------------------------------------------------------------------------
Спасибо разобрался сам. Входными параметрами для find в VS2008 является string::iterator, а я подсовывал string::const_iterator.
Сменил тип на string::iterator. И все заработало. Только почему так не знаю...
