Error: conflicting types for....

Newbie Member
25Feb2010,15:45   #1
gplkrsna's Avatar
Hi,

I'm looking solution for the following problem.

Problem:
I have two libraries with two different queue implementations. but with same structure name as "queuetype".

Now if I include both of the header files in my code, compilation will go for toss saying "error: conflicting types for 'queuetype' "

I need to include both the files.

How can I resolve this issue??

Thanks in advance.
Go4Expert Member
25Feb2010,15:49   #2
thillai_selvan's Avatar
Actually in the both header files you are having the same structure. So when you are trying to include the second header file it will be like another definition or re-declaration for that structure. Thats why this kind of situation is occuring
Newbie Member
25Feb2010,15:51   #3
gplkrsna's Avatar
Yeah, is there a solution for this?
Go4Expert Member
25Feb2010,15:54   #4
thillai_selvan's Avatar
You can use the macros for this.
IFDEF structure_name
check this condition

If the structure is already defined then UNDEF of that structure.
Hopes this will help
Mentor
26Feb2010,13:30   #5
xpi0t0s's Avatar
Very often you'll see in header files something like
Code:
// header file foo.h
#ifndef FOO_H
#define FOO_H

// header file contents

#endif // FOO_H
If a.h and b.h both include foo.h, and your program has to include a.h and b.h, then this guard will prevent duplicate definition errors caused by the double inclusion of foo.h.