Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > C > Re: previous de...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 3 of 13 Topic 26048 of 26959
Post > Topic >>

Re: previous declaration of Table was here / conflicting types for

by Flash Gordon <spam@[EMAIL PROTECTED] > May 3, 2008 at 10:32 AM

Michael.Z wrote, On 03/05/08 08:22:
> Anyone who can help:
> 
> Given a Table.h file I am writing a Table.c file.
> I keep getting the compile error:
> 
> previous declaration of Table was here /  conflicting types for
> 
> 
> I think the problem was the result of two pieces of code.
> First: typedef struct Table;  /* in Table.c*/

This says that Table is a struct.

> Second: struct Table { /*struct definition */ }  *Table;  /* in
> Table.h */

This says it is a pointer to a struct, that is what the * means.

> How can I solve the problems?

By not providing different definitions.

> Here are the two files

<snip>

> typedef void * Table ;

This is not what you said you had and is defining table as yet another
type.

<snip>

> typedef struct Table{
>     int sizeTable;
>     unsigned sizeData;
>     int (*diff)();
>     unsigned (*hash)();
>     void *(*copy)();
>     void (*free)();
> } * Table;


This is what you said. However pointers to void and pointers to structs 
are different things for the simple reason that void and struct are 
different.

Also hiding pointers behind a typedef is generally considered a bad thing.
-- 
Flash Gordon
 




 13 Posts in Topic:
previous declaration of Table was here / conflicting types for
"Michael.Z" <  2008-05-03 00:22:21 
Re: previous declaration of Table was here / conflicting types
ade ishs <no-spam@[EMA  2008-05-03 19:34:39 
Re: previous declaration of Table was here / conflicting types
Flash Gordon <spam@[EM  2008-05-03 10:32:51 
Re: previous declaration of Table was here / conflicting types f
"Michael.Z" <  2008-05-05 19:33:26 
Re: previous declaration of Table was here / conflicting types f
Nick Keighley <nick_ke  2008-05-06 02:21:25 
Re: previous declaration of Table was here / conflicting types f
Ben Bacarisse <ben.use  2008-05-06 12:32:13 
Re: previous declaration of Table was here / conflicting types f
"Michael.Z" <  2008-05-07 01:05:08 
Re: previous declaration of Table was here / conflicting types f
Flash Gordon <spam@[EM  2008-05-07 19:14:36 
Re: previous declaration of Table was here / conflicting types f
CBFalconer <cbfalconer  2008-05-07 12:01:43 
Re: previous declaration of Table was here / conflicting types f
"Michael.Zhang"  2008-05-09 02:40:34 
Re: previous declaration of Table was here / conflicting types f
Chris Torek <nospam@[E  2008-05-10 05:43:46 
Re: previous declaration of Table was here / conflicting types f
Ben Bacarisse <ben.use  2008-05-10 01:19:38 
Re: previous declaration of Table was here / conflicting types f
"Michael.Zhang"  2008-05-10 20:11:23 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Thu Jul 24 16:13:20 CDT 2008.