-2

首先,我是一个 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 编译。

4

1 回答 1

8

length成员std::string是一个函数,所以你必须调用它:

for (size_t i = 0; i < str.length(); i++)
//            Note function call ^^
于 2013-09-10T08:49:00.800 回答