C ++错误:'int'之前的预期primary-expression

时间:2011-11-14 04:18:22

标签: c++ compiler-errors

我在这段代码中的每个int都收到此错误;

if(choice==2) {
    inssort(int *a, int numLines);
}
if(choice==3) {
    bubblesort(int *a, int numLines);
}
if(choice==4) {
    mergesort(int *a, int numLines);
}
if(choice==5) {
    radixsort(int *a, int numLines);
}
if(choice==6) {
    return 0;
}

这就是我在main中调用函数的地方。如果您想知道我正在编写一个小程序,它可以让用户在4种不同类型的排序算法之间对列表进行排序时做出选择。

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:11)

当您 调用 这些功能时,您无法使用声明类型。只有当 声明 时,才需要他们:

if(choice==2)
{
    inssort(a, numLines);
}
if(choice==3)
{
    bubblesort(a, numLines);
}
if(choice==4) 
{
    mergesort(a, numLines);
}
if(choice==5) 
{
    radixsort(a, numLines);
}
if(choice==6) 
{
    return 0;
}

答案 1 :(得分:1)

您正在使用函数声明语法来创建函数调用。这没有必要,而且(正如你所发现的那样)甚至都不起作用。你可以写

if (choice == 2)
    inssort(a, numLines);
// etc

顺便说一下,switch在这里会更加惯用。

答案 2 :(得分:0)

if(choice==2)
{
 inssort(int *a, int numLines);
}

您的代码转到此

if(choice==2)
{
 inssort(&a, numLines);
}