This gives me an error about not recognizing railcar. What am I doing wrong?
Code:
//
#include <iostream>
#include <string>
#include <fstream>
#include <cmath>
#include <stack>
#include <ctime>
#include <deque>
using namespace std;
//WORKAROUND
class railcar;
ostream & operator<<(ostream &, railcar & );
//WORKAROUND
class railcar;
{private:
string cartype;
int id;
int train;
public:
railcar(string c, int i, int t):cartype(c),id(i),train(t) { }
railcar(): cartype(""),id(0),train(0) { };
int idtrain() { return id; }
friend ostream & operator << (ostream &, railcar & r);
typedef long_train deque <railcar *>;
railcar :: railcar (string c, int i, int t)
{
railcar=r;
cartype=c;
id=i;
train=t;
}
};
ostream & operator<<(ostream & ostr, railcar & r)
{
ostr << r.cartype << " " << r.id << " " << r.train;
return ostr;
}
int ()
{
ofstream car_file("railcars.txt");
std::cout << car_file << endl;
return 0;
}