私はObjectiveCを学び始めたばかりで、typedef、列挙、switchステートメント、関数をいじって、それらに慣れるために遊んでいました。私の理解では、このコードはすべて機能するはずですが、「予期しない型名'dinnerPreference':期待される式。typedefを使用してdinnerPreferenceを定義した場合、なぜこれが発生するのか」というswitchステートメントを宣言するとコンパイルエラーが発生します。
typedef enum { pizza = 0, steak = 1, seafood = 2} dinnerPreference;
int main(int argc, const char * argv[])
{
@autoreleasepool {
dinnerPreference momDinnPref = pizza;
dinnerPreference myDinnPref = steak;
dinnerPreference urDinnPref = seafood;
int dinnerPrefFunc ( dinnerPreference x ); {
NSLog(@"Lets see what this guy wants for dinner");
dinnerPreference x
switch( dinnerPreference x ) {
case pizza:
NSLog(@"This person wants pizza");
break;
case steak:
NSLog(@"This person wants steak");
break;
case seafood:
NSLog(@"This person wants steak");
break;
default:
NSLog(@"I dunno");
break;
return 0;
};
}
dinnerPrefFunc(momDinnPref);
dinnerPrefFunc(myDinnPref);
dinnerPrefFunc(urDinnPref);
}
return 0;