marecki Temat założony przez niniejszego użytkownika |
[C++] extern struktury » 2012-11-01 13:52:56 Jak wykonać extern struktury struct Sled { char uchwyt_checkbox[ 10 ]; bool on_off; int ID_kontrolki; int polozenie_x; int polozenie_y; int szerokosc_x; int szerokosc_y; };
Sled LED[ 3 ] = { { "LED 1", 0, 1, 0, 0, 12, 12 }, { "LED 2", 0, 2, 0, 0, 12, 12 }, { "LED 3", 0, 3, 0, 0, 12, 12 },
tak żeby uzyskać dostęp do ID_kontrolki i użyć jej jako case-a? |
|
cyklopek11 |
» 2012-11-01 14:26:45 Sprecyzuj dokładniej bo mój mózg zgłasza: unrecognized command :-) |
|
DejaVu |
» 2012-11-01 14:27:34 Struktura opisuje w jaki sposób dane mają być przechowywane, a nie je przechowuje. Musisz utworzyć obiekt struktury i wówczas odwołując się do obiektu, odwołujesz się do konkretnych danych. Słowo kluczowe extern ma zupełne inne znaczenie, więc nie bardzo rozumiem czemu umieściłeś je w temacie... struct JakasStruktura { int pole; };
JakasStruktura obiekt; obiekt.pole = 123;
|
|
marecki Temat założony przez niniejszego użytkownika |
» 2012-11-01 15:55:22 Przez wykonanie externa chodziło mi o udostępnienie stworzonej struktury w innym pliku cpp. W tymże pliku chciałbym uzyskać dostęp do ID_kontrolka aby użyć go jako case. |
|
Mrovqa |
» 2012-11-01 16:13:30 header.h code1.cpp #include "header.h" name my_instance_of_this_struct;
code2.cpp #include "header.h" extern name my_instance_of_this_struct;
|
|
cyklopek11 |
» 2012-11-01 16:14:35 No to w tym "innym" pliku daj: i jaki problem ? |
|
marecki Temat założony przez niniejszego użytkownika |
» 2012-11-01 16:37:00 Wersja podana przez Mrovqa działa:) Dzięki:)
Ale jak definicję struktury umieściłem w pliku code1.cpp to wywalało błędy i nie było możliwości skorzystania w code2.cpp.
Ostatnie pytanie. Jak zamienić teraz typ int zwracany przez
LED[2].ID_kontrolki;
na wyrażenie stałe do użycia jako case?
Dostaje komunikat: case expression not constant. |
|
cyklopek11 |
» 2012-11-01 16:57:32 Czym kompilujesz ? |
|
« 1 » 2 3 |