学习C++遇到的警告:comparison of integer expressions of different signedness

问题

我的代码是这样的:

while(head < a.length() - 1)
    {
        while(tail < a.length())
        {

意思是两个不同的符号型整数不要比较。

整数分为,有符号型整数和无符号型整数。head 是有符号型整数int,a.length()是无符号型整数

解决

  1. 将head 改为unsigned int
  2. 使用size_t(size_t是在头文件cstddef.h中,用下标访问时,数组下标的正确类型)

你可能感兴趣的:(c++,学习,c++,开发语言)