![]() |
| ||
| Problem when passing a structure containing an array of 2D-chars array to a function Hello. Here's my structure:
Here's the function that is supposed to take a pointer to an instance of the above structure and modify it : void changeSetting(struct settings *tempSettings, char *newValue, int indexValue) Now, here is my main : #include <stdio.h> I've been debugging for about 13 hours now, not to mention Googling / looking in mailinglists . I think it's something to do with the last line in changeSetting function, but I can't point where exactly! Am I supposed to add brackets somewhere ? ( i.e. (*tempSettings)->etc ) or is the problem with me using "->" instead of "." to access the members ? or is it some problem / limitation with C pointers/structures/2D-arrays-in-structures ? Any help / guidance would be appreciated =) Thanks in advance, Axel P.S: forgot to mention, something identical to this was posted here 2 years ago by another user ( found it when I searched here ). Unfortunately, there was no answer =\ Link : http://www.daniweb.com/forums/thread28036.html |
| ||
| Re: Problem when passing a structure containing an array of 2D-chars array to a function P.P.S: Using MSVC7.1 compiler |
| ||
| Re: Problem when passing a structure containing an array of 2D-chars array to a funct One of the lovely things about C... Check line 5 of changeSetting(): you've got the ; on the wrong side of the }. Every single statement in C must be terminated by a semi-colon. It's the little things that get you... |
| ||
| Re: Problem when passing a structure containing an array of 2D-chars array to a funct There's nothing wrong with your code except: strcpy(tempSettings->setting[indexValue], newValue)}; that semicolon needs to be before the closing }Quote:
|
| ||
| Re: Problem when passing a structure containing an array of 2D-chars array to a funct Assuming the ; is a typo (it won't even compile), then it seems fine here (cygwin/gcc) #include <stdio.h> Your struct is about 10K in size. This shouldn't be a problem if your compiler is a 32-bit compiler, but some old 16-bit compilers used very small (like 3K) stack sizes, and this would obviously blow that right out of the water. |
| All times are GMT -4. The time now is 10:23 pm. |
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC