속성에 따라 사용자 정의 유형에 대한 포인터로 구성된 벡터를 검색하려고합니다. 하지만 람다를 올바르게 정의하는 방법을 알지 못합니다. 여기 내 코드가있다.사용자 정의 유형에 대한 포인터 벡터를 검색하는 람다 정의
template<typename T>
class State {
public:
unsigned int id;
...
};
그리고 국가 포인터의 벡터를 잡고 다른 클래스 :
class System {
public:
std::vector<State<type>*> list_;
State<type>* getState(unsigned int id) {
auto it = find_if(list_.begin(), list_.end(), [id](const State<type>* st&) {st->id == id;});
if (it == list_.end())
return nullptr;
return *it;
}
...
};
하지만 람다 (고화질)에서 참조와 포인터를 사용하여 섞는다. list_
에 state
이 포함되어 있는지 확인하는 올바른 방법은 무엇입니까? id
?
도움 주셔서 감사합니다.
감사합니다, 앰퍼샌드는 매개 변수의 이름 앞에 있어야합니다 시작하려면
람다 값을 실제로 돌려 주면 도움이 될 수 있습니다. –