我正在尝试为播放器创建一个类,然后该对象和想法是使底部cin保存他在变量“ name”中编写的内容,但执行时会说变量“ intr”具有没有被宣布。
class jugador{
public:
string nombreIntr(string intr);
private:
string nombre;
};
string jugador::nombreIntr(string intr){
nombre = intr;
return nombre;
}
main(){
jugador jugadorActual();
//G
cout << "G: Bienvenido Jugador!\n\nG: Me dirias tu nombre?\n\n";
//Introducir Nombre
cin >> jugadorActual.nombreIntr(intr);
}
答案 0 :(得分:0)
cin >> jugadorActual.nombreIntr(intr);
这表示要从cin
获取数据并将其放入nombreIntr
返回的数据中。由于nombreIntr
返回一个临时对象(nombre
成员的副本),所以它无效(即使已编译)。
最简单的方法可能是将该语句分为两个概念部分:从cin
获取一个值并将该值存储在jugadorActual
中。
cout << "G: Bienvenido Jugador!\n\nG: Me dirias tu nombre?\n\n";
std::string nombre;
cin >> nombre; // Get the value.
jugadorActual.nombreIntr(nombre); // Store the value.
有多种方法可以将其组合为一个步骤,但是我正在考虑的方法将需要扩展jugador
接口,因此不像上面那么简单。