c++ - std::greater 未在 MSVC2012 中定义

标签 c++ visual-studio-2010 visual-c++ visual-studio-2012 stl

为什么 std::greater 不再是 Visual Studio 2012 中 std 命名空间的一部分?我现在需要包括 <functional>

我认为 STL 库在不同工具集中保持相同

最佳答案

How come that std::greater is no more part of the std namespace in Visual Studio 2012?

如果是这样,我会感到非常惊讶。

I now need to include <functional.h>

不,您需要包括 <functional>因为这是定义所有标准函数对象的 header ,包括 greater .

I thought STL libraries remained the same across toolsets

他们应该是。但是 header 允许包含其他 header ,因此有时您会发现即使您没有包含正确的 header 也可以使用某些东西。但是你不能依赖它,正如你在这里发现的那样。始终包括您使用的东西所需的所有 header 。

关于c++ - std::greater 未在 MSVC2012 中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16567699/

相关文章:

visual-c++ - 与VC++编译器标志等效的g++编译器标志

c++ - opencv::Mat 是什么类型的对象?它是 shared_ptr 还是 auto_ptr ?它是一个指针吗?

visual-studio-2010 - VisualHG 图标未出现在 VS2010 解决方案资源管理器中

windows - 如何在 .net Framework 1.0 上编写应用程序?

visual-studio-2010 - 使用Jenkins/Hudson部署.NET

c++ - Visual C、WinSock HTTP Req 和非 Windows

c++ - 如何在C++/VC++中将日志写入大小为64KB的文件?

c++ - 如何使用 Google Test 测试 EXE? (2)

c++ - 如何获取具有 FILE* 的文件名?

c++ - 指针 : Does it move the whole address range? 上的 For 循环