Класс с инициализацией ссылки std :: istream

У меня проблемы с инициализацией этого класса:

class Player{
///
std::istream ∈
///
};

Попытка, как это:

Player::Player():in(cin){
///
}

Кто-нибудь может указать мне правильное направление, как это сделать?
Кроме того, после инициализации я могу изменить ссылку, сказав что-то вроде

stringstream ss("test");
Player p;
p.in = ss;

заранее спасибо

0

Решение

Вы не объявили конструктор, только определили его.
Объявите конструктор и сделайте его общедоступным:

class Player{
public:
Player(); // You need to declare the constructor
std::istream ∈
};

Player::Player():in(cin)
{}

int main()
{
Player p;
}

я могу изменить ссылку?

Нет, вы не можете изменить ссылку, только значения, на которые ссылаются.

0

Другие решения


По вопросам рекламы [email protected]