According to VS, I'm <<mising ";" before "*">>...

Hi everybody. I'm staring into my screen for a while and can't figure out what's wrong. Could you help me?

Here's the code of Truck.h:

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
//DONE


#ifndef TRUCK_H
#define TRUCK_H
#include "Firefighter.h"
#include "Accident.h"

class Accident;
class Firebrigade;
class Frefighter;

class Truck
{
private:
	Firefighter *onboard_firefighters[6];	//THE ERROR OCCURS HERE
	Firebrigade* which_firebrigade;		
	Accident* which_accident;
	unsigned id;
	string model;
	unsigned year_of_production;
	bool on_mission;
	friend class Firebrigade;
	friend Firefighter::~Firefighter();
	friend class Accident;

public:
	bool get_on_mission() const;			
	void display_info() const;				
	unsigned int get_id() const;			
	Truck(unsigned id, string model, unsigned year);	
	~Truck();								
};

#endif 


Here's the error:
Error 1 error C2143: syntax error : missing ';' before '*' c:\users\pawel\desktop\c++ project\fire brigade\fire brigade\truck.h 16

Any ideas?

If needed, my Firefighter.h:

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
//DONE

#ifndef FIREFIGHTER_H
#define FIREFIGHTER_H
#include <string>
#include "Firebrigade.h"
using namespace std;
class Firebrigade;
class Truck;

class Firefighter
{
public:
	enum rank_type
	{
			firefighter,
			sergeant,
			lieutenant,
			captain,
			battalion_chief,
			division_chief,
			assistant_chief,
			chief
	};

private:
	Firebrigade* which_firebrigade; //Describes to which unit the firefighter belongs.
	Truck* which_truck;
	unsigned id;	//unique ID
	string name;
	rank_type what_rank;
	bool on_mission;	//Whether the firefighter is currently on a mission or not.
	friend class Firebrigade; //Dlaczego nie dziaƂa friend tylko dla funkcji hire_firefighter, fire_firefighter?
	friend class Truck;
	friend class Accident;

public:
	void display_info();			//DONE
	void promote();					//DONE
	unsigned int get_id() const;	//DONE
	Firefighter(unsigned id, string name, rank_type what_rank);		//DONE
	~Firefighter();					//DONE


}; 
#endif 
Line 11 has Firefighter spelt wrong. It is missing an "i".
He's including "firefighter.h" though so that shouldn't matter (the forward declaration is redundant)

My first thought was that the Accident class was missing a semicolon at the end of it.

Double check Accident.h and make sure you put a ; after the class.
It was indeed the spelling problem. :)
Last edited on
Topic archived. No new replies allowed.