reverse(start, end) 本身就返回void型, 你把一个void型赋值给string,肯定会出错。下面的函数这么改一下试试:bool compa(string s){ string s1(s); reverse(s1.begin(), s1.end()); return (s1 == s);}