【发布时间】:2011-09-07 15:57:21
【问题描述】:
这是我的交换功能:
template <typename t>
void swap (t& x, t& y)
{
t temp = x;
x = y;
y = temp;
return;
}
这是我的函数(在附注 v 存储字符串)调用交换值,但每当我尝试使用向量中的值调用时,我都会收到错误。我不确定我做错了什么。
swap(v[position], v[nextposition]); //creates errors
【问题讨论】:
-
你的代码中有
using namespace std吗?因为您可能会遇到名称冲突。 -
顺便说一句,您不需要函数末尾的
return;语句 -
我最好的猜测是你正在实现一个二次排序算法,并且你有一个错误,因此试图访问超出范围的向量。查看实际的错误消息真的很有帮助。是编译时错误还是运行时错误?
-
你为什么不直接使用
std::swap?