C++ 泛函数
#include<string>
#include<vector>
#include<functional>
#include<algorithm>
using namespace std;
template<typename inputiterator,typename outputiterator,typename elemtype,typename comp>
outputiterator
filter(inputiterator first, inputiterator last, outputiterator at, const elemtype &val, comp pred)
{
while ((first = find_if(first, last, bind2nd(pred, val))) != last)
{
cout << "found value:" << *first << endl;
*at++ = *first++;
}
return at;
}
int main()
{
const int asize = 10;
int ia[asize] = { 23, 56, 14, 21, 15, 16, 17, 18, 19, 54 };
vector<int>vec(ia, ia + asize);
vector<int>ivec;
int ia2[asize];
cout << "filtering integer array for lessthan 20:" << endl;
filter(ia, ia+asize,ia2,20, greater<int>());
cout << "filtering iteger vector for lessthan 20:" << endl;
filter(vec.begin(), vec.end(), ivec.begin(), 20, greater<int>());
return 0;
}
运行时总是出现

这个提示,是为什么啊 ,百度了一下这个问题,但也没有确实的回答,这里发个帖子给聊聊这个问题啊
#include<vector>
#include<functional>
#include<algorithm>
using namespace std;
template<typename inputiterator,typename outputiterator,typename elemtype,typename comp>
outputiterator
filter(inputiterator first, inputiterator last, outputiterator at, const elemtype &val, comp pred)
{
while ((first = find_if(first, last, bind2nd(pred, val))) != last)
{
cout << "found value:" << *first << endl;
*at++ = *first++;
}
return at;
}
int main()
{
const int asize = 10;
int ia[asize] = { 23, 56, 14, 21, 15, 16, 17, 18, 19, 54 };
vector<int>vec(ia, ia + asize);
vector<int>ivec;
int ia2[asize];
cout << "filtering integer array for lessthan 20:" << endl;
filter(ia, ia+asize,ia2,20, greater<int>());
cout << "filtering iteger vector for lessthan 20:" << endl;
filter(vec.begin(), vec.end(), ivec.begin(), 20, greater<int>());
return 0;
}
运行时总是出现

这个提示,是为什么啊 ,百度了一下这个问题,但也没有确实的回答,这里发个帖子给聊聊这个问题啊
...全文
相关推荐
c++STL泛型函数库
c++vector容器(#include
C++ primer之泛型函数
C++ primer之泛型函数
在C++泛型编程中如何只特化类的某个成员函数
我们知道在C++模板编程中如果我们特化或是偏特化某个模板类, 我们需要重写整个模板类中的所有函数, 但是这些代码通常是非常相似的, 甚至在某些情况下可能只有一两个函数会不一样,其他函数都是一样的。在这种情况下,同时存在多份相同的代码,对我们维护这些代码是非常不利的, 我们好只需要特化其中不一样的那个函数。 比如下面这个模板类: template struct Base { //other function //…. void Func(){ cout << "primary function" <<
C++函数动态生成器
一个简单的泛型编程实例,与C++Primer中一个实例类似。 适合初学者,来学习类继承和泛型编程相关技术。。。
cpp代码-泛型编程day1
cpp代码-泛型编程day1


新手乐园

