Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Switch: jump to case label crosses initialization

Ostatnio zmodyfikowano 2014-06-08 08:44
Autor Wiadomość
mikson
Temat założony przez niniejszego użytkownika
Switch: jump to case label crosses initialization
» 2014-06-07 21:54:17
Witam,

Stworzyłem takiego case:
C/C++
switch( message )
{
    //inne case
case WM_NOTIFY:
    LPNMHDR nmHdr =( LPNMHDR ) lParam;
    switch( nmHdr->code ) {
    case LVN_ITEMCHANGED:
        LPNMLISTVIEW nmListView =( LPNMLISTVIEW ) lParam;
        if( nmListView->uNewState && LVIS_SELECTED == LVIS_SELECTED )
        {
            ListView_GetItemText( hListView, nmListView->iItem, 0, text, 1024 );
            ListView_GetItemText( hListView, nmListView->iItem, 1, text2, 1024 );
        }
        break;
    }
    break;
}
Kompilator mówi:
665 C:\Users\admin\Documents\C++\winAPI\main.cpp jump to case label
653 C:\Users\admin\Documents\C++\winAPI\main.cpp   crosses initialization of `tagNMHDR*nmHdr'
674 C:\Users\admin\Documents\C++\winAPI\main.cpp jump to case label
653 C:\Users\admin\Documents\C++\winAPI\main.cpp   crosses initialization of `tagNMHDR*nmHdr'
P-111686
Monika90
» 2014-06-07 21:57:41
dodaj klamerki po każdym case
C/C++
case WM_NOTIFY:
{ //<-- tu
    break;
} //<- i tu
P-111688
mikson
Temat założony przez niniejszego użytkownika
» 2014-06-07 22:01:24
Po każdym? Dlaczego więc niektóre działały bez klamerek a niektóre nie?
P-111689
Monika90
» 2014-06-07 22:02:59
Jak deklarujesz zmienne w case, to deklarcje powinny być w klamrach.
P-111691
pekfos
» 2014-06-07 22:03:50
Nie musi być w każdym. Daj klamerki w tych case'ach, w których definiujesz zmienne. Skok do case w zasięgu zmiennej utworzonej wyżej powoduje błąd.
P-111692
mikson
Temat założony przez niniejszego użytkownika
» 2014-06-07 22:05:50
Czyli jak mam tak rozległe casy, że nie chcę mi się sprawdzać czy definiuję tam zmienne, to mogę dać klamry wszędzie i nic się stać nie powinno?
P-111696
pekfos
» 2014-06-07 22:06:55
Nic się złego nie stanie, jak dasz po każdym.
P-111697
mikson
Temat założony przez niniejszego użytkownika
» 2014-06-07 22:10:18
Ok, dziękuję za pomoc.
P-111699
« 1 » 2
  Strona 1 z 2 Następna strona