在使用C++ max函数时,报错。

调了下发现是两个参数的类型不一致的原因,一个参数的类型是int,而另一个是unsigned int。

之所以会出现这样的错误是因为,rfind返回的是位置,是unsigned int类型。

正确用法如下:

unsigned int pos;
pos = max(pos, s.rfind(s[i]));

另外,C++查看一个表达式或变量的类型的方法如下:

cout << typeid(a).name() << endl;