初学C++,请教一个关于while循环的问题

使用的编译环境是visual studio 2015 community,这是第五版c++ primer上面的一道题目,要求从标准输入中读取若干string对象并查找连续重复出现的单词。以下程序可以成功编译但是运行时按回车无结果输出:
图片说明

请帮忙看看程序有什么问题,谢谢!以下为程序:
#include
#include
#include

using namespace std;

int main()
{
string currString, preString = "", maxString;
int currcnt = 1, maxcnt = 0;
cout << "请输入一段字符,用空格隔开:" << endl;
while (cin >> currString)
{
if (currString == preString)
{
++currcnt;
if (currcnt > maxcnt)
{
maxcnt = currcnt;
maxString = currString;
}
}
else
{
currcnt = 1;
}
preString = currString;
}
if (maxcnt > 1)
cout << "出现最多的字符串是:" << maxString << ",次数是" << maxcnt << endl;
else
cout << "每个字符串都出现了一次" << endl;
system("pause");
return 0;
}
最近写的一些带有while循环的程序都没有输出,是不是有些我没有注意到的地方导致了死循环?还请不吝赐教!

 while (cin >> currString)
问题在这里,参考
http://blog.csdn.net/zhoujunbuaa/article/details/5975237

while循环在输入回车时没有退出循环。