Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

Re: typedef Structs pass by reference

2013-02-02 by englsprogeny1

I've updated the struct, thanks.

I want to be able to update the values within the struct (depending on what 'instance' is passed into the function).

This is why I am doing 'pass by reference' (by the address)


I get the following error:

menu.c:1732: error: expected ';', ',' or ')' before '&' token

This is referring to the prototype portion of the function definition.

 

void CalculateOffTime(uint8_t duration, offTimeStruct &eventOff)



Any more ideas?



--- In AVR-Chat@yahoogroups.com, Charlie H  wrote:
>
> It looks like you are expecting the address of the struct passed to your 
> function but not using the address in the function.  Try it this way:
> 
> void CalculateOffTime(uint8_t duration, offTimeStruct eventOff)
> {
>     ...
> }
> 
> 
> Also, I think the typedef is wrong.  Try it this way:
> 
> typedef struct
> {
> 	uint8_t endMinute;
> 	uint8_t endHour;
> } offTimeStruct;
> 
> 
> HTH,
> Charlie
> 
> 
> On 2/2/2013 2:51 PM, englsprogeny1 wrote:
> > Simple C question.. I guess that I am blowing!  Maybe I didn't get enough sleep last night....
> >
> >
> > Using AVR Studio 4.0 with GCC
> >
> > 1. I create a type that is a struct
> > 2. I create multiple 'instances' of this type.
> >
> >
> > I get the following errors when I Build All:
> >
> > menu.c:1729: error: expected declaration specifiers or '...' before 'offTimeStruct'
> > menu.c:1742: error: 'eventOff' undeclared (first use in this function)
> >
> >
> >
> >
> > typedef struct offTimeStruct
> > {
> > 	uint8_t endMinute;
> > 	uint8_t endHour;
> > };
> >
> > offTimeStruct light1;
> > offTimeStruct rocket;
> >
> >
> >
> > //menu.c: Line 1729
> > void CalculateOffTime(uint8_t duration, offTimeStruct &eventOff)
> > {
> >          //menu.c: Line 1742
> > 	eventOff.endMinute = 1;
> >
> > }
> >
> >
> >
> >
> > funtion call from Main()
> >
> >
> > CalculateOffTime(1, light1);
> >
> > Thanks for your ideas guys!
> >
> >
> >
> >
> >
> > ------------------------------------
> >
> > Yahoo! Groups Links
> >
> >
> >
> >
>

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.