ошибка: использование необъявленного идентификатора 'std' c ++ - PullRequest
1 голос
/ 23 января 2020

Я новичок в программировании на C ++ и хочу создать простую игру Pokemon.

Я создал класс в заголовочном файле и определяю функции в отдельном .cpp файле.

У меня также есть основной файл, в котором я буду запускать свой фактический код.

Итак, я определяю функцию std::string в моем файле функций, и он говорит, что std - это необъявленный идентификатор.

Вот каждый из моих файлов:

Определение функции:

#include "fns.hpp"
int Pokemon::getHP() {
  return hp;
}
int Pokemon::getAttack() {
  return attack;
}
int Pokemon::getDefense() {
  return defense;
}
int Pokemon::getSpecialAttack() {
  return specialAttack;
}
int Pokemon::getSpecialDefense() {
  return specialDefense;
}
int Pokemon::getSpeed() {
  return speed;
}
std::string Pokemon::getAttack1() {
  return attack1;
}
std::string Pokemon::getAttack2() {
  return attack2;
}
std::string Pokemon::getAttack3() {
  return attack3;
}
std::string Pokemon::getAttack4() {
  return attack4;
}
Pokemon::Pokemon(int qhp,int qdefense,int qattack,int qspecialAttack,int qspecialDefense,int qspeed,std::string qattack1,std::string qattack2,std::string qattack3,std::string qattack4)
: hp(qhp),attack(qattack),defense(qdefense),specialAttack(qspecialAttack),specialDefense(qspecialDefense),speed(qspeed),attack1(qattack),attack2(qattack2),attack3(qattack3),attack4(qattack4) {}

Объявление функции:

class Pokemon {
  int hp,attack,defense,specialAttack,specialDefense,speed;
  std::string attack1,attack2,attack3,attack4;
  public:
  int getHP();
  int getAttack();
  int getDefense();
  int getSpecialAttack();
  int getSpecialDefense();
  int getSpeed();
  int getAttack1();
  int getAttack2();
  int getAttack3();
  int getAttack4();
  Pokemon(int qhp,int qdefense,int qattack,int qspecialAttack,int qspecialDefense,int qspeed,std::string qattack1,std::string qattack2,std::string qattack3,std::string qattack4);
};

Всякий раз, когда я говорю std::string, это говорит, что это необъявленный идентификатор.

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

1 Ответ

1 голос
/ 23 января 2020

Это потому, что вы не использовали библиотеку для этого.

используйте ниже в верхней части вашего заголовочного файла

#include<string>
...