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
[C++] extern struktury
» 2012-11-01 13:52:56
Jak wykonać extern struktury
C/C++
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?
P-68105
cyklopek11
» 2012-11-01 14:26:45
Sprecyzuj dokładniej bo mój mózg zgłasza: unrecognized command :-)
P-68107
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...
C/C++
struct JakasStruktura
{
    int pole;
};

//...
JakasStruktura obiekt;
obiekt.pole = 123;
P-68108
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.
P-68111
Mrovqa
» 2012-11-01 16:13:30
header.h
C/C++
struct name
{
    //...
};
code1.cpp
C/C++
#include "header.h"
name my_instance_of_this_struct;
// ...
code2.cpp
C/C++
#include "header.h"
extern name my_instance_of_this_struct;
// i mozesz juz tego tu uzywac :)
P-68113
cyklopek11
» 2012-11-01 16:14:35
No to w tym "innym" pliku daj:
C/C++
extern LED[ 3 ];
 i jaki problem ?
P-68114
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.
P-68116
cyklopek11
» 2012-11-01 16:57:32
Czym kompilujesz ?
P-68117
« 1 » 2 3
  Strona 1 z 3 Następna strona