我刚开始学习C ++。
我了解到我们可以使用像
这样的代码char name1[size];
char name2[size];
cin.get(name1,size).get();
cin.get(name2,size).get();
并且它不会出错。
所以我理解函数get()
可以被链接两次以上来读取输入。
所以我试着把它变成
char name1[size];
char name2[size];
cin.get(name1,size).get().get(name2,size).get();
但我在cin.
Visual Studio上的错误E0153。 “表达式必须具有类类型”。
所以,有人可以告诉我
为什么第一个代码是正确的,而第二个代码是错误的?
答案 0 :(得分:4)
istream::get()
and istream::get(char&)
differ的返回值:
+*******5678
所以没有参数的重载会返回read char的值,而带参数的重载会返回对同一int istream::get();
istream& istream::get (char& c);
的引用,这样就可以进行链接。