Я не могу заставить 'operator <' скомпилировать для weak_ptr с использованием VS10.Я пропускаю #include или #using? </p>
Даже пример кода в документации не работает для меня.http://msdn.microsoft.com/en-us/library/bb982759.aspx
// temp.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
// std_tr1__memory__operator_lt.cpp
// compile with: /EHsc
#include <memory>
#include <iostream>
int main()
{
std::shared_ptr<int> sp0(new int(0));
std::shared_ptr<int> sp1(new int(0));
std::cout << "sp0 < sp0 == " << std::boolalpha
<< (sp0 < sp0) << std::endl;
std::cout << "sp0 < sp1 == " << std::boolalpha
<< (sp0 < sp1) << std::endl;
std::cout << "sp1 < sp0 == " << std::boolalpha
<< (sp1 < sp0) << std::endl;
std::cout << std::endl;
std::weak_ptr<int> wp0(sp0);
std::weak_ptr<int> wp1(sp1);
std::cout << "wp0 < wp0 == " << std::boolalpha
<< (wp0 < wp0) << std::endl;
std::cout << "wp0 < wp1 == " << std::boolalpha
<< (wp0 < wp1) << std::endl;
std::cout << "wp1 < wp0 == " << std::boolalpha
<< (wp1 < wp0) << std::endl;
return (0);
}