Preklad vice modulu: error: ‘vector’ does not name a type – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Preklad vice modulu: error: ‘vector’ does not name a type – C / C++ – Fórum – Programujte.comPreklad vice modulu: error: ‘vector’ does not name a type – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
kocourOggy0
Newbie
5. 6. 2016   #1
-
0
-

Potrebuju vytvorit nekolik modulu mezi kterymi jsou urcite zavislosti. Problem nastava u modulu GameBoard.cpp. Kdy kompilator nepoznava ani jeden z typu Coordinate, Player, ale ani vector. Pritom potrebne soubory mam includovane... nevite, co je spatne?

Připojen obrázek.

Coordinate.h

#ifndef __COORDINATE_H__
#define __COORDINATE_H__
 
 #include <iostream>

//*****************************************************************
struct Coordinate
{
	Coordinate ();
	Coordinate (int row, int column);
	

	bool operator == (Coordinate other);

	friend std::ostream& operator << (std::ostream & os, const Coordinate x);

	int m_Row, m_Column;
};

#endif /* __COORDINATE_H__ */

Coordinate.cpp

 
 //*****************************************************************

#include "Coordinate.h"

//*****************************************************************

Coordinate::Coordinate () { }


Coordinate::Coordinate (int row, int column) 
{
	m_Row = row;
	m_Column = column;
}

bool Coordinate::operator == (Coordinate other) 
{
	return ( m_Row == other.m_Row && m_Column == other.m_Column );
}

std::ostream& operator << (std::ostream & os, const Coordinate x)
{
	os << "row: " << x.m_Row << ", column: " << x.m_Column;
	return os;
}

Player.h

#ifndef __PLAYER_H__
#define __PLAYER_H__

#include <string>

#include "Coordinate.h"

//*****************************************************************
class Player
{
public:
	Player(const std::string name, const char symbol);
	virtual ~Player();

	char getSymbol() const;
	std::string getName() const;

	virtual Coordinate makeMove(void) = 0;


protected:
	char m_Symbol;
	std::string m_Name;


};

#endif /*__PLAYER_H__ */

Player.cpp

 
 //*****************************************************************


#include "Player.h"

//*****************************************************************


//-------------------------------------
Player::Player(const std::string name, const char symbol)
{
	m_Symbol = symbol;
	m_Name = name;
}


Player::~Player() { }


char Player::getSymbol() const 
{ 
	return m_Symbol;
}

std::string Player::getName() const
{ 
	return m_Name;
}


//-------------------------------------

GameBoard.h

#ifndef __GAMEBOARD_H__
#define __GAMEBOARD_H__

#include <vector>

#include "Coordinate.h"
#include "Player.h"

//*****************************************************************

class GameBoard
{
public:
	GameBoard(const int row, const int column );
	~GameBoard();

	void writeStone(const Player & player, const Coordinate & coor);


	std::vector< std::vector<char> > m_Board;
};

#endif /*__GAMEBOARD_H__ */

GameBoard.cpp


//*****************************************************************

#include "GameBoard.h"

//*****************************************************************

GameBoard::GameBoard(const int row, const int column)
{
	// resize vector to size ROW and COLUMN
	m_Board.resize(row);
	for (auto & row : m_Board)
	{
		row.resize(column);
	}

	// fill grid with '.' which means blank symbol
	for (auto & row : m_Board)
	{
		for (auto & symbol : row)
		{
			symbol = '.';
		}
	}
}

GameBoard::~GameBoard() { }


void GameBoard::writeStone(const Player & player, const Coordinate & coor)
{
	char symbol = player.getSymbol();

	m_Board[coor.m_Row][coor.m_Column] = symbol;
}
Nahlásit jako SPAM
IP: 78.45.112.–
Věčný začátečník nejen v Pythonu.
Řešení
kocourOggy0
Newbie
5. 6. 2016   #2
-
0
-
Vyřešeno Nejlepší odpověď

Tak uz jsem chybu nasel. Nakonec to bylo z nepozornosti, kdy jsem sice includoval hlavicku "GameBoard.h" nicmene soubor s hlavickou jsem mel ulozeny v adresari jako "Gameboard.h".

Omlouvam se za spam! Tohle jsem si z toho mohl vykoukat drive.

Nahlásit jako SPAM
IP: 78.45.112.–
Věčný začátečník nejen v Pythonu.
6. 6. 2016   #3
-
0
-

#2 kocourOggy
Ty nebudeš windowsák...

hu

Nahlásit jako SPAM
IP: 195.178.67.–
kocourOggy0
Newbie
6. 6. 2016   #4
-
0
-

 #3 hlucheucho
Ve skole nas do Linuxu trochu "tlaci", at uz predmetem na praci s terminalem a bashem, tak i samotnym programovanim. Linux prozatim provozuji na Virtualboxu pod Windows.

Nahlásit jako SPAM
IP: 78.45.112.–
Věčný začátečník nejen v Pythonu.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Podobná vlákna

Výpis modulů — založil tirio

Výpis modulů — založil tirio

Úprava modulu do Apache — založil king12345

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý