我是C ++的新手,还是编码的新手,我试图制作一个简单的基于文本的RPG,以获取一些乐趣。我已经制作了一个班级播放器,并尝试对其进行编辑,以便用户编辑playerName的名称,但出现错误,我真的不知道为什么。
我的主要方法:
// Thomas' Game.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <string>
#include "Player.h"
#include <fstream>
#include <istream>
using namespace std;
int main()
{
Player player;
cout << "Hello traveller, could I ask you your name?";
cin >> player.setName;
cout << "Hello " << player.getName << endl;
return 0;
}
我的球员班:
。H
#pragma once
#include <iostream>
#include <string>
using namespace std;
class Player
{
private:
string playerName = "";
string playerRace = "";
int playerAge = 0;
public:
void setName(std::string);
string getName();
void setRace(std::string);
string getRace();
void setAge(int);
int getAge();
};
.ccp
#include "stdafx.h"
#include "Player.h"
void Player::setName(std::string name)
{
playerName = name;
}
std::string Player::getName() {
return playerName;
}
void Player::setAge(int age)
{
playerAge = age;
}
int Player::getAge() {
return playerAge;
}
void Player::setRace(std::string race)
{
playerRace = race;
}
std::string Player::getRace() {
return playerRace;
}
严重性代码说明项目文件行抑制状态
错误C2679二进制'>>':未找到采用'重载功能'类型的右操作数的运算符(或没有可接受的转换)Thomas'Game.cpp 18
严重性代码说明项目文件行抑制状态
错误C3867'Player :: getName':非标准语法;使用'&'创建指向成员Thomas'Game c:\ users \ thomas \ source \ repos \ thomas'game \ thomas'game \ thomas'game.cpp的指针
是我目前遇到的错误
最佳答案
第一个错误意味着您不能将输入直接从cin传递给setName函数,您应该首先将其存储在这样的变量中:
string name;
cin >> name;
player.setName(name);
出现第二个错误只是因为您缺少getName上的括号:
cout << "Hello " << player.getName() << endl;
关于c++ - 我的玩家类(class)中的 setter/getter 和塞脂剂问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48245260/