请问这段程序错在哪里?
#include <iostream>
using namespace std;
template <class ElemType>
ElemType min1(const vector <ElemType> &vec)
{
ElemType min;
if(vec.size()> =1)
min = vec[0] ;
else
throw "Empty Vector "
for(int ix = 0; ix <vec.size(); ix++)
{
if(vec[ix] <min)
min = vec[ix] ;
}
return min;
}
template <class ElemType>
ElemType min2(const vector <ElemType> &vec) //求最小值
{
ElemType min;
vector <ElemType> ::iterator iter = vec.begin();
if(iter <vec.end())
min = vec.begin();
else
throw "Empty Vector ";
for(int i = 0; i <vec.begin(); i++, iter++)
{
if(*iter <min)
min = *iter;
}
return min;
}
void main()
{
int array[] = {1,3,2,5,4};
vector < int > vec(array, array+5);
vector < int > vec2(vec);
int min;
min = min1(vec);
cout < <min < <endl;
min = min2(vec2);
cout < <min < <endl;
}
这是求最小值的两个函数,可是编译有错,说是vec是一个undeclared identifier
不这吨是为什么,我这是模仿c++ primer 中的练习做的,
请高手指教!
[解决办法]
楼主,你的错误很多~
加上#include <vector>
throw "Empty Vector "这个拿来干吗?你没有异常处理...
还有些错误,这里不能明确说出来
好好看书
请教这段程序错在哪里
请问这段程序错在哪里?#includeiostreamusingnamespacestdtemplate classElemTypeElemTypemin1(const
