| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | Task list |
Henk den Adel wrote in a message to All:
HdA> PSWBLOCK pswblk;
Let's see... pswblk is of type PSWBLOCK, which is a pointer to an SWBLOCK.
HdA> printf("%s\n", *pswblk.aswentry.swctl.szSwtitle);
Oops! The '.' operator has higher precedence than the '*' operator, so
this gets parsed as:
*(pswblk.aswentry.swctl.szSwtitl)
which is, of course, wrong.
HdA> The problem is that the added line (printf) contains an
HdA> error:
HdA> TL.C(31:19) : error EDC0110: Operand of dot operator must be
HdA> a struct or a union.
This is a valid error message, since the operand of the dot operator is
pswblk, which is not a struct but is a pointer to struct.
HdA> It is a struct!
No, sorry!
HdA> TL.C(31:19) : informational EDC0140: Operand has type
HdA> pointer to structure _SWBLOCK.
Well, the parser is on the ball here.
HdA> So what?
HdA> What is wrong? The struct reference to all types of tags
HdA> seems to be ok.
HdA> Does anyone have a clue?
Try instead:
(*pswblk).aswentry.swctl.szSwtitl
which is merely awful style but is valid C syntax. More standard would be:
pswblk->aswentry.swctl.szSwtitl
-- Mike
---
* Origin: N1BEE BBS +1 401 944 8498 V.34/V.FC/V.32bis/HST16.8 (1:323/107)SEEN-BY: 105/42 620/243 624/50 711/401 409 410 413 430 807 808 809 934 955 SEEN-BY: 712/407 515 628 704 713/888 800/1 7877/2809 @PATH: 323/107 150 3615/50 396/1 270/101 105/103 42 712/515 711/808 809 934 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.