tictactoe.hС ++ Ошибка ошибка C2146: синтаксическая ошибка: отсутствует ';' Перед 'записей' идентификатора
#pragma once
#include "Header.h"
class TicTacToe
{
vector<char>tictac_array;
Records records;
public:
TicTacToe();
~TicTacToe();
void push_tictac_array();
int wincheck();
void board(string player1, string player2);
void start();
void mainmenu();
};
header.h
#include <iostream>
#include <vector>
#include <map>
#include <string>
#include <fstream>
#include <algorithm>
#include "Records.h"
#include "TicTacToe.h"
using namespace std;
Records.h
#pragma once
#include "Header.h"
class Records
{
protected:
vector<Records*> rec;
string player;
int wins;
int games;
int draws;
public:
Records();
Records(string player, int wins, int games, int draws);
~Records();
void setName(string player);
void setWins(int wins);
void setGames(int games);
void setDraws(int draws);
string getName();
int getWins();
int getGames();
int getDraws();
void addRec(string player, int wins, int games, int draws);
void sortStats();
void outRec();
void saveTo();
void readFrom();
};
main.cpp
#include "Header.h"
const int NotUsed = system("color F0");
void main()
{
setlocale(0, "rus");
TicTacToe tictac;
tictac.records.readFrom();
tictac.mainmenu();
}
Перед пробой на файлы и все работает отлично. Только после распространения всех файлов классов, начал выдавать эту ошибку, что может быть проблемой? Добавлен заголовочный файл Records.h
И 'Records.h'? – WhozCraig
Я подозреваю круглый путь #include, например. 'Records.h', включая' TicTacToe.h' через какой-то маршрут. –
Как замечание, никогда не рекомендуется помещать декларацию 'using namespace' в заголовочный файл, так как все, что включает этот заголовок, получит это. Я понимаю, что это, вероятно, поведение, которое вы хотите на данный момент, гораздо безопаснее поставить эту декларацию в ваши файлы '.cpp' или, еще лучше, полностью квалифицировать свои ссылки. – TartanLlama