switch(type) {
case NSFetchedResultsChangeInsert:
int x = 5; // error: "Expected expression before int"
break;
}
所以這是不可能的創建在的switch-case-塊的局部變量?
switch(type) {
case NSFetchedResultsChangeInsert:
int x = 5; // error: "Expected expression before int"
break;
}
所以這是不可能的創建在的switch-case-塊的局部變量?
您是否嘗試添加大括號?
switch(type) {
case NSFetchedResultsChangeInsert:
{
int x = 5; // error: "Expected expression before int"
break;
}
}
的
您需要聲明一個新的範圍出於某種原因。我的C不夠好知道。 – 2010-06-14 20:29:23
這是C標準的一個奇怪之處。有一些奇怪的語法邊緣情況[我永遠遇到]阻止編譯器「正常工作」。 – bbum 2010-06-14 22:01:22
可能重複[我可以聲明一個Objective-C開關語句中的變量?(http://stackoverflow.com/questions/1115304/can-i-declare-variables-inside-an-objective- c-switch-statement) – 2010-06-14 20:24:49
如果你把這種情況變成一個實際的塊,它會工作嗎?就像'case foo:{int x = 5; ''?請記住,C中的switch/case只是圍繞幾個跳轉目標的一個薄薄的包裝,沒有別的。這就是爲什麼達夫的設備非常巧妙。 – Joey 2010-06-14 20:25:02