关于函数对象的问题

giftfish giftfish 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

#include<iostream>
#include <vector>
#include <algorithm>

using namespace std;

template <typename TYPE>
struct CallBackBase
{
bool operator()(const TYPE &ele)
{
return true;
}
};
/*
将下面的struct 定义在函数Proc_All_1()中会出现下面的错误。
error C2918: 'CallBack1' : illegal use of local type in template instantiation
*/
struct CallBack1 : public CallBackBase <int>
{
bool operator()(const int user)
{
return true;
}

};

void ProcAll_1(vector<int> users)
{
for_each(users.begin(), users.end(),CallBack1());
}

int main()
{
// vector<int> v;

return 0;
}

请问是什么原因导致出错的!谢谢!
...全文

相关推荐

关于析构函数和临时对象的问题

关于析构函数和临时对象的问题,学习C++的朋友可以好好看看,不错

zhangfanboy

ES6对象方法声明对象时,箭头函数this的指向问题

基础 没有this、super、arguments 和 new.target 绑定 不能通过 new 关键字调用 没有 prototype 不可以绑定this 的绑定 不支持argument 不支持重复命名参数 疑问 // 第一种 用 var 定义 value var value = '小明' const foo = { value: '小红', getValue: () => console.log(this.value) } foo.getValue() // => 输出的是小明 // 第二种 用 const 定义 value const value = '小明' co

weixin_38609401

面向对象及函数式常见问题.docx

面向对象及函数式常见问题

狼叔也疯狂

asp.net(C#)函数对象参数传递的问题

我们知道在.net里class是引用类型,在函数参数表中的对象传递的都是对象的引用,所以在函数体内对其对象参数的修改会影响函数外对应的对象本身,例如下面的程序.

weixin_38573171

javascript 静态对象和构造函数的使用和公私问题

先看: 代码如下: var objJson={   op1:’objJson option1′,   fn1:function(){     alert&#40;this.op1&#41;   } } 在这种形式的声明下,你可以通过objJson.op1或者objJson.fn1()来直接访问内部的属性,这没有问题。但是如果是这样: 代码如下: var objFn=function(){   this.op1=’objFn.op1′;    this.op2=function(){     alert&#40;this.op1&#41;   }; } 那么如果你直接objFn.op1或者objFn.op2()来访问内

weixin_38638309
评论 7
收藏 已收藏
分享
返回顶部
giftfish
C++ 语言 65,214 成员 250,514 内容