TankRockett Ответов: 1

"Пространство имен "std" не имеет члена "string"" ошибка в проекте C++/SFML(visual studio 2019):


Недавно я учусь делать 2d-игру в SFML, используя учебную серию на youtube от Suraj Sharma(в настоящее время на видео 57):

https://www.youtube.com/watch?v=kwd_AVCkvXE&list=PL6xSOsbVA1ebkU66okpi-KViAO8_9DJKg&index=57

После 10:14 я понял, что переменные 'std::map' в моем классе 'State' имеют следующую ошибку:

Государства.ч:

<pre>#pragma once

#ifndef STATE_H
#define STATE_H

#include "Player.h"
#include "GrphSettings.h"

class Player;
class GrphSettings;
class State;

class StData {
public:
	StData() {};

	//Vars
	float GridSize;
	sf::RenderWindow* Window;
	GrphSettings* GSettings;
	std::map<std::string, int>* SupportedKeys;//namespace "std" has no member "string"
	std::stack<State*>* states;
};

class State
{
private:

protected:
	StData* Stdata;
	std::stack<State*>* states;
	sf::RenderWindow* window;
	std::map<std::string, int>* SupportedKeys ;//namespace "std" has no member "string"
	std::map<std::string, int> Keybinds;//namespace "std" has no member "string"
	bool quit;
	bool pause;
	float keyTime; 
	float keyTimeMax;
	float GridSize;

	sf::Vector2i MousePosScr;
	sf::Vector2i MousePosWind;
	sf::Vector2f MousePosView;
	//Resources
	std::map<std::string,sf::Texture> texture;//namespace "std" has no member "string"
	//Funcs
	virtual void InitKeybinds() = 0;
public:
	State(StData* Stdata);
	virtual~State();
	//Access
	const bool getKeytime();
	const bool& getquit()const;
	//Funcs
	void Endstate();
	void PauseSt();
	void UnPauseSt();

	virtual void UpdateInput(const float& dt) = 0;
	virtual void UpdateMousePos();
	virtual void UpdateKeyTime(const float& dt);
	virtual void Update(const float& dt) = 0;
	virtual void Render(sf::RenderTarget* target = nullptr) = 0;
};
#endif // !1


Кто-нибудь может мне помочь ?

Что я уже пробовал:

Я попробовал '#include<string>' В файл, и это не работает.Проект работает нормально, пока я не понял, что случилось.

1 Ответов

Рейтинг:
10

phil.o

Include для класса map-это:

#include <map>

Но вам также может понадобиться:
#include <string>
#include <stack>
если они еще не включены в Player.h или GrphSettings.h.