簡體   English   中英

錯誤:使用未聲明的標識符“std”c++

[英]error: use of undeclared identifier 'std' c++

我是 C++ 編碼的新手,我想制作一個簡單的口袋妖怪游戲。

我在頭文件中創建了一個類,並在單獨的.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 ,它都會說它是一個未聲明的標識符。

有人可以幫幫我嗎?

這是因為您沒有使用該庫。

在頭文件頂部使用以下內容

#include<string>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM