Skip to main content
GameDev.net gamedev.net
🔒 Locked

structure issues in C

Started by CRACK123 Dec 1, 2004 at 10:47 PM 3 replies 500+ views
Original Post
CRACK123
CRACK123
Hi, I have the following structure declared. And I am trying to create an Identity matrix function. However I am getting a lot of errors. What could I be doing wrong ? Here is the code.
[Source]
typedef struct 
{
	fixed matrix44[4][4]
} matrix;

matrix IdentityMatrix()
{
	matrix a;
	a.matrix44[0][1] = a.matrix44[0][2] = a.matrix44[0][3] = FIX(0.0);
	a.matrix44[1][0] = a.matrix44[1][2] = a.matrix44[1][3] = FIX(0.0);
	a.matrix44[2][0] = a.matrix44[2][1] = a.matrix44[2][3] = FIX(0.0);
	a.matrix44[3][0] = a.matrix44[3][1] = a.matrix44[3][2] = FIX(0.0);
	a.matrix44[0][0] = a.matrix44[1][1] = a.matrix44[2][2] = a.matrix44[3][3] = FIX(1.0);
	
	return a;
}
[/Source]
[/source] I get errors as error : parse error before IdentityMatrix error : matrix undeclared first use it in this function. error : parse error before a error : a undeclared I am using pure c. I am not sure what the problem is. Anyone have any ideas ? Thanks.
The more applications I write, more I find out how less I know
balla_the_king
balla_the_king
typedef struct
{
fixed matrix44[4][4]; //<--- you forgot semicolon
} matrix;


outRider
outRider
typedef struct _matrix_{	fixed matrix44[4][4];} matrix;matrix IdentityMatrix(void){	matrix a;	a.matrix44[0][1] = a.matrix44[0][2] = a.matrix44[0][3] = FIX(0.0);	a.matrix44[1][0] = a.matrix44[1][2] = a.matrix44[1][3] = FIX(0.0);	a.matrix44[2][0] = a.matrix44[2][1] = a.matrix44[2][3] = FIX(0.0);	a.matrix44[3][0] = a.matrix44[3][1] = a.matrix44[3][2] = FIX(0.0);	a.matrix44[0][0] = a.matrix44[1][1] = a.matrix44[2][2] = a.matrix44[3][3] = FIX(1.0);		return a;}
CRACK123
CRACK123
Well I have made that change. I still get the same errors.



The more applications I write, more I find out how less I know
balla_the_king
balla_the_king
it compiles perfectly on my compiler as long as I define the FIX() macro and the 'fixed' type, MSVC6.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.