여러 문자열을 포함하는 구조체를 보유하기 위해 집합을 사용하고 있습니다. 세트의 find() 기능을 사용할 수 있기를 원합니다. 그러나 세트가 구조체를 보유하고 있기 때문에 작동하지 않습니다. find()에서 구조체의 문자열 중 하나를 찾았 으면합니다. 어떻게 할 수 있습니까?구조체 집합을 사용하여 찾기 작업 만들기
다음은 사용하려고 시도한 코드입니다. 그것은 find()가 사용되는 부분을 제외하고는 잘 동작합니다.
test.cpp:30:7: error: no matching member function for call to 'find'
s.find("key");
~~^~~~
In file included from test.cpp:3:
In file included from /usr/include/c++/4.2.1/set:65:
/usr/include/c++/4.2.1/bits/stl_set.h:429:7: note: candidate function not viable: no known conversion from 'const char [4]' to 'const key_type' (aka 'const test') for 1st argument
find(const key_type& __x)
^
/usr/include/c++/4.2.1/bits/stl_set.h:433:7: note: candidate function not viable: no known conversion from 'const char [4]' to 'const key_type' (aka 'const test') for 1st argument
find(const key_type& __x) const
^
1 error generated.
그 코드는 무엇입니까? 나는 <연산자를 오버로드 할 수 있지만 같은 메소드는 ==에 대해 작동하지 않습니다. –
@ z-buffer : 내 대답의 업데이트 버전을 참조하십시오. 문제는,'find()'에'test' 구조체의 인스턴스를 제공해야한다는 것입니다. – beduin