📄 subject_66085.htm
字号:
<p>
序号:66085 发表者:ljl 发表日期:2003-12-22 15:22:43
<br>主题:关于vector的引用出错的问题
<br>内容:#include <vector><BR>#include <iostream><BR>using namespace std;<BR><BR>int ia[10]={5,2,7,8,4,8,1,9,3,6};<BR><BR>template <class elemType><BR>elemType<BR>min( const vector<elemType> &vec )<BR>{<BR> //fail<BR> elemType minValue = vec[0];<BR> vector<elemType>::iterator iter = vec.begin(); //为什么这里begin()返回的是const<BR> for(; iter != vec.end(); ++iter )<BR> minValue = (*iter < minValue) ? *iter : minValue;<BR> <BR> //OK<BR>/* <BR> elemType minValue = vec[0];<BR> vector<elemType> vcopy(vec); //重新定义了一个临时变量vcopy<BR> vector<elemType>::iterator iter = vcopy.begin(); //为什么这里begin()返回的却是int*<BR> for(; iter != vcopy.end(); ++iter )<BR> minValue = (*iter < minValue) ? *iter : minValue;<BR>*/<BR> return minValue;<BR>}<BR><BR>int main()<BR>{ <BR> vector<int> myArray(ia, ia + 10);<BR> <BR> cout << "The min value is: " << min(myArray) << endl;<BR><BR> system("pause");<BR> return 0;<BR>}<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:林建华 回复日期:2003-12-22 16:03:17
<br>内容:你自己定义的函数里面template <class elemType><BR>elemType<BR>min( const vector<elemType> &vec )是const啊<BR>把const去掉就好了
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:ljl 回复日期:2003-12-22 17:04:29
<br>内容:这是c++ primer上的一个例子,它就给了那样的函数声明让写定义,我就写了第一个,却出错,假如不改声明还有别的解决办法么?总觉得我的第2种在定义一个临时变量不太完美:)
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:林建华 回复日期:2003-12-22 19:30:15
<br>内容: vector<elemType>::iterator iter = (int *)vec.begin(); //为什么这里begin()返回的是const<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -