字符串声明问题c++
String declaration problems c++
我试图编译这个简单的程序,但每当我尝试编译它时,它都会给我很多错误,而且都是与字符串相关的错误,例如我的字符串的“syntax error:identifier 'string'
”和“undeclared identifier
”函数和变量。
我试图删除 using namespace std;
并改用 std::string
但仍然出现相同的错误。
我正在使用 Visual Studio 2017.
#include "Animal.h"
#include <iostream>
#include <string>
using namespace std;
int main() {
Animal Cat;
cin.get();
}
那就是 Animal.h
:
class Animal
{
public:
Animal();
void SetAnimalName(string x);
string GetName();
void SetAnimalAge(int y);
int GetAnimalAge();
private:
string AnimalName;
int AnimalAge;
};
Animal.cpp
#include "Animal.h"
#include <iostream>
#include <string>
using namespace std;
Animal::Animal()
{
AnimalName = "cat";
AnimalAge = 3;
std::cout << "the Animal is: " << AnimalName << std::endl << "its Age is: " << AnimalAge;
}
void Animal::SetAnimalName(string x) {
AnimalName = x;
}
string Animal::GetName() {
return AnimalName;
}
void Animal:: SetAnimalAge(int y) {
AnimalAge = y;
}
int Animal::GetAnimalAge() {
return AnimalAge;
}
您的 Animal.h
中缺少 #include <string>
,这会破坏 main.cpp
的编译。
您的 Animal.h
中还缺少 std::string
。作为一般经验法则,不要使用 using namespace std
并坚持使用 std
命名空间(在您的情况下为 std::string
)作为标准库函数的前缀。
我试图编译这个简单的程序,但每当我尝试编译它时,它都会给我很多错误,而且都是与字符串相关的错误,例如我的字符串的“syntax error:identifier 'string'
”和“undeclared identifier
”函数和变量。
我试图删除 using namespace std;
并改用 std::string
但仍然出现相同的错误。
我正在使用 Visual Studio 2017.
#include "Animal.h"
#include <iostream>
#include <string>
using namespace std;
int main() {
Animal Cat;
cin.get();
}
那就是 Animal.h
:
class Animal
{
public:
Animal();
void SetAnimalName(string x);
string GetName();
void SetAnimalAge(int y);
int GetAnimalAge();
private:
string AnimalName;
int AnimalAge;
};
Animal.cpp
#include "Animal.h"
#include <iostream>
#include <string>
using namespace std;
Animal::Animal()
{
AnimalName = "cat";
AnimalAge = 3;
std::cout << "the Animal is: " << AnimalName << std::endl << "its Age is: " << AnimalAge;
}
void Animal::SetAnimalName(string x) {
AnimalName = x;
}
string Animal::GetName() {
return AnimalName;
}
void Animal:: SetAnimalAge(int y) {
AnimalAge = y;
}
int Animal::GetAnimalAge() {
return AnimalAge;
}
您的 Animal.h
中缺少 #include <string>
,这会破坏 main.cpp
的编译。
您的 Animal.h
中还缺少 std::string
。作为一般经验法则,不要使用 using namespace std
并坚持使用 std
命名空间(在您的情况下为 std::string
)作为标准库函数的前缀。