从unsigned_int到size_t的有问题的转换

时间:2013-09-10 08:47:25

标签: c++ size-t

首先,我是一个c ++新手。如果这个问题听起来很愚蠢,请原谅。

我遇到了从unsigned_int到size_t的转换问题,如VS编译器所示。以下是导致编译器抱怨的代码行。

size_t findNextAlphaNumericPosition(string &str)
{
    for (size_t i = 0; i < str.length; i++)
    {
        if (isalpha(str[i])) return i;
    }

    return -1;
}

当它跑到这一行时会抱怨:

for (size_t i = 0; i < str.length; i++)

任何想法都会受到高度赞赏。它阻止VS编译。

1 个答案:

答案 0 :(得分:8)

lengthstd::string成员是函数,因此您必须将其调用:

for (size_t i = 0; i < str.length(); i++)
//            Note function call ^^