C3867 Visual Studio中出错,不知道这意味着什么

时间:2017-08-29 01:37:54

标签: c++ string search

我正在用C ++编写一个强力子串搜索。以下是我的代码。

int bruteSearch(string a, string b) {
    int i, j, n = a.length, m = b.length;
    for (i = 0; i < (n - m); i++) {
        j = 0;
        while (j < m && b[i + j] == a[j]) {
            j++;
        }
        if (j == m) return i;
    }
    return -1;
}
void main()
{
    string a = "Awesome Example";
    string b = "Exam";
    cout << bruteSearch(a, b) << endl;

}

尝试构建它会产生一个错误,我用来在bruteSearch函数中声明整数,说... ...“错误C3867'std :: basic_string,std :: allocator&gt; :: length':非标准语法;使用'&amp;'创建指向成员StringSearch“

的指针

我不知道这意味着什么。有帮助吗?谢谢!

1 个答案:

答案 0 :(得分:1)

string::length是一个函数,所以请调用它。

 int i, j, n = a.length(), m = b.length();