我在初始化該類問題的std :: istream的引用初始化:類具有
class Player{
///
std::istream ∈
///
};
嘗試這樣的:
Player::Player():in(cin){
///
}
任何人都可以點我如何完成正確的方向這個? 此外,初始化後,我可以說像
stringstream ss("test");
Player p;
p.in = ss;
在此先感謝
我在初始化該類問題的std :: istream的引用初始化:類具有
class Player{
///
std::istream ∈
///
};
嘗試這樣的:
Player::Player():in(cin){
///
}
任何人都可以點我如何完成正確的方向這個? 此外,初始化後,我可以說像
stringstream ss("test");
Player p;
p.in = ss;
在此先感謝
您還沒有宣佈構造改變的參考,只有定義它。
聲明構造並設置公衆:
class Player{
public:
Player(); // You need to declare the constructor
std::istream ∈
};
Player::Player():in(cin)
{}
int main()
{
Player p;
}
我可以改變的參考?
不,您不能更改引用,只能引用正在引用的值。
如果構造函數是私有的,爲什麼它不工作? –
@NicholasPaxton你想公開它可以輕鬆地從主要訪問它。 –
您只能初始化引用,並且以後不能更改它們。您可以做的最多的是爲正在引用的內容分配新值,但不是引用本身。 – aslg