2017-08-29 279 views
-7

我正在C++中編寫一個蠻力子字符串搜索。下面提供的是我的代碼。C3867錯誤在Visual Studio中,不知道這是什麼意思

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的,性病::分配器> :: length':非標準語法;使用'&'創建指向成員StringSearch的指針「

我不知道這是什麼意思。任何幫助?謝謝!

+0

使用'a.length()'而不是'a.length' ...'length()'是一個函數,而不是一個屬性。 –

+3

提問後請勿修復代碼。它使答案和意見毫無意義。 –

回答

1

string::length是一個函數,所以調用它。

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