User forums > Help

c++ parser

(1/2) > >>

lechoo:
Hello
I have problem with parser.
When I write

WNDCLASSEX wincl;

and want use

wincl.

it should show teh members of this struct, but id don't show ;/

Sorry for my english

raph:
Codecompletion pugin doesn't support structs currently, sorry :(.

MortenMacFly:

--- Quote from: raph on February 28, 2007, 07:34:21 pm ---Codecompletion pugin doesn't support structs currently, sorry :(.

--- End quote ---
That's not true. structs are very well supported, if you define them like:

--- Code: ---struct tMyStruct
{
  int MyInt;
  double dMyDouble;
  bool MyBool;
};
typedef struct tMyStruct tMyStruct;

--- End code ---
tMyStruct. will then perfectly code-complete. If you can do the same with WNDCLASSEX (not sure about that) It'll work, too.

With regards, Morten

Ps.: BTW: lechoo: This poll is non-sense. Why did you choose to create such a poll instead of a normal post?!

raph:
If you write

--- Code: ---struct tMyStruct_
{
  int MyInt;
  double dMyDouble;
  bool MyBool;
};
typedef struct tMyStruct_ tMyStruct;
--- End code ---


--- Code: ---tMyStruct s;
s.
--- End code ---
won't be completed. Same with

--- Code: ---struct tMyStruct_ s;
s.
--- End code ---

What will be completed is

--- Code: ---tMyStruct_ s;
s.
--- End code ---
although I think it isn't valid c++ (I just tried it and gcc compiled without errors/warnings :shock:)
For the windows-structs it isn't that easy, since they are defines either for the -A or for the -W version (e.g. WNDCLASSEXA) (depending whether you are using unicode).

--- Code: (winuser.h) ---#ifdef UNICODE
#define EDITWORDBREAKPROC EDITWORDBREAKPROCW
...
typedef WNDCLASSW WNDCLASS,*LPWNDCLASS,*PWNDCLASS;
--- End code ---

Anyway, I'm glad that codecompletion does work for structs. I'm going to change my structs, wich are happily not that many :D

Greetings raph

TDragon:

--- Quote from: raph on February 28, 2007, 08:41:49 pm ---although I think it isn't valid c++

--- End quote ---
It is valid C++; in C++ a struct is identical to a class, with the exception of the default member access being public instead of private.

C++ may use this idiom:

--- Code: ---struct mystruct
{
    ...
};
...
mystruct s;

--- End code ---
but C must use an idiom such as this:

--- Code: ---typedef struct mystruct_
{
    ...
} mystruct;
...
mystruct s;

--- End code ---
or this:

--- Code: ---struct mystruct
{
    ...
};
typedef struct mystruct mystructdef;
...
struct mystruct s;
mystructdef s;

--- End code ---

Navigation

[0] Message Index

[#] Next page

Go to full version