2011-05-17 122 views
0

下面的代碼應該返回當前項目的名稱返回一個枚舉

typedef enum ItemName {test1, test2} ItemName; 
- (BOOL)DoItemName{return ItemName;} 

的當前值,但我收到此錯誤:

error: Semantic Issue: Unexpected type name 'ItemName': expected expression 

回答

1

在你的代碼ItemName定義了一個類型,而不是一個值。所以編寫return ItemName相當於return int,它沒有任何有意義的解釋。編譯器告訴你這一點。

+0

如何返回枚舉而不是int? – evdude100 2011-05-17 23:02:08

+0

我的意思是,你的代碼不返回一個變量,它返回一個類型。如果你想返回一些值,首先你必須聲明一個'ItemName'類型的變量,然後返回它。 – Nekuromento 2011-05-17 23:06:30

+0

@ evdude100:它是什麼意思*返回一個枚舉類型(注意:不是一個值,但類型本身)?這不是你可以在C中做的事情。該枚舉的*值*是'test1'和'test1'。 – Chuck 2011-05-17 23:08:11