Jan 25
What’s wrong with the following code?
-
template<typename T1, typename T2>
-
struct my_pair
-
{
-
typedef T1 first_type;
-
typedef T2 second_type;
-
-
my_pair() : first(T1()), second(T2()) {}
-
my_pair(const T1& v1, const T2& v2) : first(v1), second(v2) {}
-
-
T1 first;
-
T2 second;
-
};
-
-
template<typename T1, typename T2>
-
inline bool operator<
-
(
-
const my_pair<T1, T2>& x,
-
const my_pair<T1, T2>& y
-
)
-
{
-
return (x.first < y.first || x.second < y.second);
-
}
-
-
void f()
-
{
-
typedef my_pair<…, …> key_type;
-
typedef … value_type;
-
typedef std::map<key_type, value_type> map_type;
-
-
map_type map;
-
// Use map
-
}
Recent Comments