我正在嘗試C++中的隊列實現。在那期間,我遇到了這個問題。C++中的Try-Catch問題
void Queue::view()
{
int i;
try
{
if(Qstatus==EMPTY)
{
UnderFlowException ex = UnderFlowException("\nQUEUE IS EMPTY");
throw ex;
}
}
i=front;
cout<<"Queue contains...\n";
while(i <= rear)
{
cout<<queue[i]<<" ";
i++;
}
}
這給了一個錯誤:
error: expected ‘catch’ before ‘i’
我覺得這個問題是出現,因爲我不寫catch塊以下try塊。 但是如果想在main()中寫入catch塊(就像這種情況),我怎麼能這樣做呢?
Before, that Could I do that? If not Why?
與問題無關,但你的while循環將永遠運行,除非queue [i]增加i(這不太可能)。 –
我正要在第一時間回答這個問題:)但這些多核心用戶...... –
另一個問題可能是你爲什麼添加'try'塊?如果這是因爲你預計會拋出一個異常,似乎很明顯'catch'丟失了。但是我感覺你並不完全知道try catch語句是什麼,如果這是你可能想要看的情況:http://www.cplusplus.com/doc/tutorial/exceptions/ –