错误“在'jugadorActual'中请求成员'nombreIntr'”

时间:2019-03-07 18:49:54

标签: c++

我正在尝试为播放器创建一个类,然后该对象和想法是使底部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);
}

1 个答案:

答案 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接口,因此不像上面那么简单。