int main6()
{
#if 0
  // read in the name from a user, which we want to search

  cout << " enter name";
  string name;
  cin>> name;

 
  // change 'findMatchingAddress' to 'find'
  // notice that the lambda function uses the the variable 'name'
  // global_address_book.findMatchingAddresses ( [&] (const string& addr) { return addr.find( name ) != string::npos; } );
  global_address_book.find ( [&] (const string& addr) { return addr.find( name ) != string::npos; } );
  //  error: ‘class AddressBook’ has no member named ‘find’
  //  global_address_book.find( [&] (const string& addr) { return addr.length() >= min_len; } );
  //                      ^

  int min_len = 0;
  cout << " enter min_len";
  cin >> min_len;

  // change 'findMatchingAddress' to 'find'
  global_address_book.find( [&] (const string& addr) { return addr.length() >= min_len; } );
  //  error: ‘class AddressBook’ has no member named ‘find’
  //  global_address_book.find( [&] (const string& addr) { return addr.length() >= min_len; } );
  //                      ^

  cout << "\n";
#endif
  return 0;
} // main6
vector<string> findAddressesFromOrgs ()
{
    // change 'findMatchingAddress' to 'find'
    // return global_address_book.findMatchingAddresses
    return global_address_book.find
    ( 
        // we're declaring a lambda here; the [] signals the start
        [] (const string& addr) { return addr.find( ".org" ) != string::npos; } 
    );
}