vector<_node>
*dirlist;
а что это такое ?
if (dirlist!=NULL)
for (i=dirlist->begin(); i!=dirlist->end(); i++)
if (i->name.CompareNoCase(Name)==0) return &((*dirlist).at(l));
как такой страх вообще заработал
попробуй писать в стиле С++, наглядней получается
typedef vector<_node> node_container;
node_container dirlist;
class FindByName
{
CString name;
public:
FindByName(const CString& str) : name(str) {}
bool operator()(const _node& node)
{
return name.CompareNoCase(node.name) == 0;
}
}
_node* _node::Contains(CString Name)
{
node_container::iterator i = find(dirlist.begin(), dirlist.end(), FindByName(Name));
if( i != dirlist.end() ) return &(*i);
return NULL;
}