这可能是一个新手问题,因为我只是在学习编程。我正在学习QuickSort algos,我正在尝试将一个int数组作为参数传递给我的函数quickSort()。当我尝试在VC ++ 2010中编译时,我遇到了编译器错误。
我已经查找了如何将数组作为参数传递,并试图反映他们所做的事情,但它似乎没有用。这里:Here是我查找的地方,它是页面的最后一部分(一直滚动到底部)。我试图传递该文章中概述的数组,但我仍然遇到编译错误。请参阅下面的代码blurb(不完整),例如我正在做的事情和编译错误。有什么建议吗?
int aTest[7] = {7, 5, 9, 3, 4, 8, 6};
int left = 0;
int right = 6;
quickSort(aTest, left, right); //this is line 16 referenced in the compiler error
void quickSort(int aTest[], int left, int right)
//main.cpp(16): error C2664: 'quickSort' : cannot convert parameter 1 from 'int [7]' to 'int'
// There is no context in which this conversion is possible
答案 0 :(得分:2)
据我所知,这是C,而不是C ++。
如果我理解正确,你应该把原型放在“第16行”之前
根据原型,我的意思是void quickSort(int aTest[], int left, int right)
行。
答案 1 :(得分:1)
正如anatolyg所说,它是原型顺序。编译器假设quicksort采用单个int参数。尝试设置最高警告级别,您应该看到没有定义快速排序的警告。