template Container sub_con(Container &con, const ElemType &val),为什么会出现连接错误啊?
#include <vector>
#include <list>
#include <iostream>
#include <string>
#include <algorithm>
#include <functional>
#include <iterator>
using namespace std;
template <typename Container, typename ElemType>
Container sub_con( const Container &con, ElemType &val);
void main(int argc, char * argv)
{
const int elem_size=8;
int ia[elem_size]= { 12, 8, 43, 0, 6, 21, 3, 7};
vector<int> ivec(ia, ia+elem_size);
vector<int> ivec2=sub_con(ivec, elem_size);
return;
}
template <typename Container, typename ElemType>
Container sub_con(Container &con, const ElemType &val)
{
Container local_con(con);
sort( local_con.begin(), local_con.end());
Container::iterator iter=
find_if( local_con.begin(), local_con.end(), bind2nd(greater<ElemType>(), val));
local_con.erase(iter, local_con.end());
return local_con;
}