2011-11-14 63 views
5

在本節代碼中,每個int都出現此錯誤;C++錯誤:在'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種不同類型的排序算法之間對列表進行排序。

任何幫助,將不勝感激。

回答

10

您不能使用聲明類型時,您是致電的功能。只有當你聲明他們有他們需要:

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

其實,這不是一個問題的不_needing_他們這麼多,因爲它是_illegal_把它們放在那裏。但是,除了我的語義挑剔,你是對的,所以+1。 – paxdiablo

+0

是的,這是正確的。將澄清。 – Mysticial

+0

* facepalm *感謝您的快速回復。 –

1

您使用功能聲明語法進行函數調用。這不是必要的,並且(如你所發現的)甚至不起作用。你可以只寫

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

順便說一句,一個switch會更地道這裏。

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

代碼輪到這個

if(choice==2) 
{ 
inssort(&a, numLines); 
} 
相關問題