Yahoo Groups archive

AVR-Chat

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

Message

Re: [AVR-Chat] typedef Structs pass by reference

2013-02-02 by Charlie H

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.