使用cin.get()。无数次

时间:2017-11-21 08:59:21

标签: c++ string

我刚开始学习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。 “表达式必须具有类类型”。

所以,有人可以告诉我

为什么第一个代码是正确的,而第二个代码是错误的?

1 个答案:

答案 0 :(得分:4)

istream::get() and istream::get(char&) differ的返回值:

+*******5678

所以没有参数的重载会返回read char的值,而带参数的重载会返回对同一int istream::get(); istream& istream::get (char& c); 的引用,这样就可以进行链接。

相关问题