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

[C++] extern struktury

Ostatnio zmodyfikowano 2012-11-03 12:36
Autor Wiadomość
marecki
Temat założony przez niniejszego użytkownika
» 2012-11-01 17:04:17
Visual Studio 2010
P-68118
cyklopek11
» 2012-11-01 17:15:10
U mnie w Visual Studio 2010 oraz Code::Blocks nie ma takich błędów. Pokaż cały kod.
P-68119
marecki
Temat założony przez niniejszego użytkownika
» 2012-11-01 17:26:24
Całego nie będe wklejał bo reszta działa ok.
Poniżej to co istotne.

C/C++
extern Sled LED[ 27 ];
const int qq = LED[ 0 ].ID_kontrolki; //nie działa
const int aaa = 56; //działa

LRESULT CALLBACK obsluga_komunikatow( HWND okno_glowne, UINT komunikat, WPARAM identyfikator_kontrolki, LPARAM uchwyt_kontrolki )
{
    switch( komunikat )
    {
    case WM_COMMAND:
        switch( LOWORD( identyfikator_kontrolki ) )
        {
        case aaa:
        case qq: //wywala blad ze wyrazenie ma byc stala wartoscia
        }
        break;
       
       
    }
}
P-68121
cyklopek11
» 2012-11-01 17:43:57
No tak Ci działać nie będzie, kompilator ma rację.
P-68122
marecki
Temat założony przez niniejszego użytkownika
» 2012-11-01 17:47:00
Więc jak to zapisać?
Próbowałem
int qq = LED[ 0 ].ID_kontrolki;

albo
C/C++
const int qq = LED[ 0 ].ID_kontrolki;
const int aaa = qq;
              
ale bez skutku:/
Jakieś wskazówki? i czy jest to wogóle możliwe?
P-68123
cyklopek11
» 2012-11-01 17:55:00
W takim wypadku musisz swich-a zamienić na if-y.
P-68124
crash
» 2012-11-02 13:18:58
Nie, nie, wystarczy po case: nie stawiać klamry zamykającej tylko podać instrukcję do wykonania.

C/C++
switch( komunikat )
{
case WM_COMMAND:
    switch( LOWORD( identyfikator_kontrolki ) )
    {
    case aaa:
    case qq: jakas_instrukcja_i_gitara;
    }
    break;
P-68180
Mrovqa
» 2012-11-02 19:43:11
@crash nie pisz na forum niczego, czego nie jesteś pewny (albo przynajmniej zaznacz to, iż Ci się tak wydaje). Lepszy jest brak informacji, niż dezinformacja.
Trzeba to zrobić na ifach, inaczej się nie da - zmienna (mimo, iż zdefiniowana jako stała) - nie jest inicjalizowana stałym wyrażeniem. Można by się pobawić w zmianę wartości tej stałej zmiennej (poprzez wskaźniki i rzutowania), ale wtedy to zapewne UB - nie ma co niepotrzebnie kombinować :)
P-68266
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona