为什么我的项目在命名空间 std 中找不到"function"?
Why can't my project find "function" in namespace std?
我有以下代码:
@interface Model ()
{
//...
std::function<bool(CGFloat, CGFloat)> greaterThan;
std::function<bool(CGFloat, CGFloat)> lesserThan;
//...
}
@end
在我的原始项目中一切正常。我刚刚创建了一个新项目,并在两者之间拖放了文件,在新项目中,上述两行出现以下错误:
命名空间"std"中没有名为"函数"的类型
我不知道问题是什么 - 文件是.mm,为什么在名称空间std中找不到功能?
将#include <functional>
添加到代码的顶部。
还要记住在编译器参数中使用 -std=c++0x(或等效项);这将启用 std::function
所需的 C++11 标准。
相关文章:
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 为什么野牛仍在使用"int yylex(void)",却找不到"int yylex(YYS
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 找不到QtResource文件中的文件
- VC++本机单元测试,找不到调试符号
- RegGetValue在当前用户下找不到名称
- 带有 -stdlib=libc++ 的 clang++ 9.0.1 找不到<optional>
- c++找不到具有相同哈希的无序集合元素
- 找不到以下加速库:boost_fiber
- 找不到 FLTK(缺少:FLTK_INCLUDE_DIR)
- 设置 Visual Studio for MPI: 找不到标识符错误
- "assimp/config.h"找不到,但它在文件夹中
- 链接器找不到在虚拟类 c++ 中访问的静态字段的符号
- C++系统找不到指定的文件错误
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- 错误 C2679:二进制'<<':找不到采用类型 'overloaded-function' 的右侧操作数的运算符(或者没有可接受的转换)
- 为什么我的项目在命名空间 std 中找不到"function"?
- 错误 C2679:二进制'[':找不到采用类型 'overloaded-function' 的右侧操作数的运算符