我是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二进制'&gt;&gt;':没有找到哪个运算符采用'overloaded-function'类型的右手操作数(或者没有可接受的转换)Thomas'Game.cpp 18严重级代码说明项目文件行抑制状态
错误C3867'Player :: getName':非标准语法;使用'&amp;'创建一个指向成员的指针Thomas'Game c:\ users \ thomas \ source \ repos \ thomas'game \ thomas'game \ thomas'game.c.c 19
是我目前正在犯的错误
答案 0 :(得分:2)
第一个错误意味着您无法直接将输入从cin传递到setName函数,您应该首先将其存储在如下变量中:
cout << "Hello " << player.getName() << endl;
第二个错误只是因为你在getName上缺少括号:
/usr/local/sbin
答案 1 :(得分:0)
string name;
cin >> name;
player.setName(name);
是一个功能。你可能想要这样的东西。
{{1}}
这将从标准输入中读取下一个字符串(空格分隔)为字符串,然后使用该字符串调用您的setter。
的参考资料