getKeyState missing ) before ; in VC++ 2008

Apr 13, 2009 at 3:12pm
I'm currently in the process of creating my first 3D application using the OpenGL library and it's been going great until now where I seem to have encountered a little hiccup in my main source code.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Keyboard_Input()
{
 if(GetKeyState(VK_UP) & 0x80)
  Move_Camera(CAM_SPEED);

 if(GetKeyState(VK_DOWN) & 0x80)
  Move_Camera(-CAM_SPEED);

 if(GetKeyState(VK_LEFT) & 0x80)
  Rotate_Camera(-CAM_SPEED);

 if(GetKeyState(VK_RIGHT) & 0x80)
  Rotate_Camera(CAM_SPEED);
}


When compiled I get the following error on each line where each condition would be met (e.g. Move_Camera()):

error C2143: syntax error : missing ')' before ';'

Everything surrounding this code looks okay and <windows.h> is include but I'm not sure where even these are turning up errors. Any help would be appreciated.
Apr 13, 2009 at 8:02pm
It will have told you the line number too. Check the line.
Apr 13, 2009 at 10:46pm
Okay, this is beginning to really irritate me. This is the first chunk of the code where the problem lies (I assume):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include <windows.h>
#include <math.h>
#include <stdio.h>
#include "gl.h"
#include "glu.h"
#include "glaux.h"

#define CAMERASPEED 0.03f;

HGLRC		hRC=NULL; // render
HDC			hDC=NULL; // device
HWND		hWnd=NULL;
HINSTANCE	hInstance;

GLuint		texture[1];

FILE		*File;

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

bool active = true;
bool fullscreen = false;
bool keys[256];

// camera
typedef struct tVector3
{
	tVector3(){}
	tVector3(float new_x, float new_y, float new_z)
	{
		x = new_x;
		y = new_y;
		z = new_z;
	}

	tVector3 operator+(tVector3 vVector)
	{ return tVector3(vVector.x + x, vVector.y + y, vVector.z + z); }

	tVector3 operator-(tVector3 vVector)
	{ return tVector3(vVector.x - x, vVector.y - y, vVector.z - z); }

	tVector3 operator*(float number)
	{ return tVector3(x * number, y * number, z * number); }

	tVector3 operator/(float number)
	{ return tVector3(x/number, y/number, z/number); }

	float x, y, z;
} tVector3;

tVector3 mPos; // camera position
tVector3 mView; // camera target (what we're looking at)
tVector3 mTilt; // camera tilt

void Position_Camera(float pos_x, float pos_y,
					 float pos_z, float view_x,
					 float view_y, float view_z,
					 float tilt_x, float tilt_y,
					 float tilt_z)
{
	mPos = tVector3(pos_x, pos_y, pos_z);		// position
	mView = tVector3(view_x, view_y, view_z);	// view
	mTilt = tVector3(tilt_x, tilt_y, tilt_z);	// vector
}

void Move_Camera(float speed)
{
	tVector3 vVector = mView - mPos;

	mPos.x += vVector.x * speed;
	mPos.z += vVector.z * speed;
	mView.x += vVector.x * speed;
	mView.z += vVector.z * speed;
}

void Rotate_Camera(float speed)
{
	tVector3 vVector = mView - mPos;

	mView.z = (float)(mPos.z + sin(speed) * vVector.x + cos(speed) * vVector.z);
	mView.x = (float)(mPos.x + cos(speed) * vVector.x - sin(speed) * vVector.z);
}

void Keyboard_Input()
{
	if((GetKeyState(VK_UP) & 0x80))
	{
	Move_Camera( CAMERASPEED);
	}

	if((GetKeyState(VK_DOWN) & 0x80))
	{
		Move_Camera(-CAMERASPEED);
	}

	if((GetKeyState(VK_LEFT) & 0x80))
	{
	Rotate_Camera(-CAMERASPEED);
	}

	if((GetKeyState(VK_RIGHT) & 0x80))
	{
	Rotate_Camera( CAMERASPEED);
	}
}


Errors:
1
2
3
4
main.cpp(88) : error C2143: syntax error : missing ')' before ';'
main.cpp(93) : error C2143: syntax error : missing ')' before ';'
main.cpp(98) : error C2143: syntax error : missing ')' before ';'
main.cpp(103) : error C2143: syntax error : missing ')' before ';'
Apr 14, 2009 at 12:00am
#define CAMERASPEED 0.03f; <- extra semicolon
Last edited on Apr 14, 2009 at 12:01am
Apr 14, 2009 at 2:03am
O.O

...hence, VC++ 2008 is not good for locating errors. Ugh! Thanks Gumbercules.
Topic archived. No new replies allowed.