>

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>:: length': 비표준 구문 : '&'를 사용하여 멤버 StringSearch에 대한 포인터 작성"

이것이 무슨 뜻인지 모르겠습니다. 어떤 도움? 감사합니다!


  • 답변 # 1

    string::length  함수이므로 호출하십시오.

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

관련 자료

  • 이전 신속한 배열/수집의 특정 인스턴스 색인
  • 다음 c++ - winsock의 send () 함수에 대한 const char * buffer를 구성하는 방법