我正在用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“
的指针我不知道这意味着什么。有帮助吗?谢谢!
答案 0 :(得分:1)
string::length
是一个函数,所以请调用它。
int i, j, n = a.length(), m = b.length();