Perhaps something like this: ---------------------------- // Console.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include #include #include using namespace std; struct Data { Data(int Num1, int Num2) : m_Num1(Num1), m_Num2(Num2) {} int m_Num1; int m_Num2; friend bool operator==(const Data &lhs, const Data &rhs) { return (lhs.m_Num1 == rhs.m_Num1) && (lhs.m_Num2 == rhs.m_Num2); } }; void main() { // Create and populate the collection. typedef vector coll_t; coll_t coll; coll.push_back(Data(3, 1)); coll.push_back(Data(4, 1)); coll.push_back(Data(5, 9)); coll.push_back(Data(2, 6)); coll.push_back(Data(5, 3)); // Find first (5, 9). coll_t::const_iterator i = find(coll.begin(), coll.end(), Data(5, 9)); if (i != coll.end()) { cout << "Found at index: " << (i-coll.begin()) << endl; } } Steve