cout后面停顿是getline在等待输入,实际停顿的时候getline
while (cin.peek() != '\n' && getline(cin, str, ';'))
直接把 19 行 删掉即可,19行 是函数 声明, 但是在你的例子中, 被调用的函数已经在 main 的上面 , 所以没有必须再声明, 可以直接删除,如果不想删除的话, 必须把19行 放而 main函数外面(前面),即,函数声明 不能放在 函数内.