Wojtek
Guest
Fri Dec 07, 2007 11:03 am
Witam
Mam poniższy fragment kodu:
struct pos {
unsigned int v;
signed char step;
signed int delta;
} px,*p1;
Kiedy robię takie przypisanie:
px.v = 0
Wszystko jest OK, ale jak spróbuję zrobić cos takiego:
*p1.step = 1
kompilator wyrzuca mi błąd:
error: request for member 'step' in something not a structure or union
Z pewnych względów najłatwiej jest mi właśnie korzystać ze wskaźników na
strukturę.
Z czego wynika ten błąd i jak sie go pozbyć?
Z góry dziękuję za odpowiedź
Wojtek
MoonWolf
Guest
Fri Dec 07, 2007 11:08 am
Wojtek denied rebel lies:
Quote:
Wszystko jest OK, ale jak spróbuję zrobić cos takiego:
*p1.step = 1
p1 -> step = 1
--
<:> Roger, MoonWolf Out <:>|I rage, i glaze, i hurt, i hate
(:

(:

|
(

JID:moonwolf@jabberpl.org(

|
http://karakkhaz.prv.pl
Przemysław Szeremiota
Guest
Fri Dec 07, 2007 1:01 pm
Użytkownik "MoonWolf" <moonwolf@polbox.com> napisał w wiadomości
news:fjb63r$ojn$1@news.onet.pl...
Quote:
Wszystko jest OK, ale jak spróbuję zrobić cos takiego:
*p1.step = 1
p1 -> step = 1
Ewentualnie
(*p1).step = 1
Operator wyłuskania (*) ma niższy priorytet od operatorów dostępu .
i ->.
Pozdrawiam,
Przemek Szeremiota
MoonWolf
Guest
Fri Dec 07, 2007 1:31 pm
Przemysław Szeremiota denied rebel lies:
Quote:
p1 -> step = 1
Ewentualnie
(*p1).step = 1
O właśnie - nie mogłem sobie tego przypomnieć (:)
--
<:> Roger, MoonWolf Out <:>|This is the trap that smells so good
(:

(:

|
(

JID:moonwolf@jabberpl.org(

|
http://karakkhaz.prv.pl
Guest
Fri Dec 07, 2007 1:43 pm
On 7 Gru, 11:03, "Wojtek" <wnied...@interia.pl> wrote:
Quote:
Witam
Mam poniższy fragment kodu:
struct pos {
unsigned int v;
signed char step;
signed int delta;
} px,*p1;
Kiedy robię takie przypisanie:
px.v = 0
Wszystko jest OK, ale jak spróbuję zrobić cos takiego:
*p1.step = 1
kompilator wyrzuca mi błąd:
error: request for member 'step' in something not a structure or union
Z pewnych względów najłatwiej jest mi właśnie korzystać ze wskaźników na
strukturę.
Z czego wynika ten błąd i jak sie go pozbyć?
Z góry dziękuję za odpowiedź
Wojtek
Probujesz pobrac element step ze wskaźnika, a potrzebujesz pobrac ten
element z wyłuskania tego wskaźnika. Czyli po prostu albo robisz tak
jak MoonWolf napisał (i tak sie powinno robic). Jeśli chcesz zrobic
swoim sposobem, powinieneś napisac:
(*p1).step = 1;
--
Pozdrawiam,
Radosław Stelmach