#include <iostream>
#include <string>
#include <sstream>
#include "game.h"
#include "board.h"
#include "piece.h"
using namespace std;
#ifndef GAME_H
#define GAME_H
#include <string>
class Game
{
private:
string white;
string black;
string title;
public:
Game(istream&, ostream&);
void display(colour, short);
};
#endif
The error is:
game.h:8 error: 'string' does not name a type
game.h:9 error: 'string' does not name a type
Your using
declaration is in game.cpp
, not game.h
where you actually declare string variables. You intended to put using namespace std;
into the header, above the lines that use string
, which would let those lines find the string
type defined in the std
namespace.
As others have pointed out, this is not good practice in headers -- everyone who includes that header will also involuntarily hit the using
line and import std
into their namespace; the right solution is to change those lines to use std::string
instead