我在C中编程了一段时间,现在我是C ++的新手。我必须用C ++ 11的基于范围的for循环替换C-Programm中的for循环。 这是实际的代码:
void sort1(int num[], int start, int end) {
int finished = 0, i;
while(!finished) {
finished = 1;
for(i=start ; i<end ; i++) {
if(num[i] > num[i+1]) {
swap(num, i, i+1);
finished = 0;
}
}
}
}
这就是我改为:
void sort1(int num[], int start, int end) {
bool finished = 0;
while(!finished) {
finished = 1;
for(int i : num) {
if(i > i+1) {
swap(num, i, i+1);
finished = 0;
}
}
}
}
我甚至无法编译它,它给了我错误: 错误:没有匹配函数来调用'begin(int *&amp;)'
(对不起,如果我的英语有点奇怪:D)