을 반환 값을 얻거나 값 :통과 내가 템플릿이처럼 보이는이
struct add_node_value_visitor : boost::static_visitor<>
{
add_node_value_visitor(){}
template <typename T>
void operator() (const T& value) const
{
boost::lexical_cast<std::string, T>(value);
}
};
내가 가진 문제는, 방문자는 값의 무리를 통해 루프 반복하는의 내부에 사용된다는이며, 결과 값 문자열은 하나의 문자열이어야합니다. 현재는 원하는 문자열이 아닌 별도의 문자열을 생성합니다.이 문제를 해결하기 위해이 구조체의 ctor에 함수 포인터를 추가하면 각 루프 반복의 결과 문자열을 연결하고 하나의 문자열을 작성하는 함수를 전달할 수 있습니다. 그런 다음 연결을 필요로하지 않는 곳에서이 구조체를 사용하려면 여전히 그렇게 할 수 있습니다. 문제는 내가 함수 포인터를 사용해야하는지 아니면 boost :: lambda와 같은 것으로 이것을 할 수 있는가하는 것입니다.
아니면 boost :: function을 사용하기가 더 쉬울까요?
제 질문은 이해할 수 없습니까? –
그것은 꽤 초기에 몇몇 장소에서 ...이 시간에 미국의 사람들은 여전히 자고있을 것이고, 유럽의 일부 사람들 (나 같은)은 여전히 깨어나 기 위해 커피 찻잔을 향해 기어 다니고있을 것입니다. 커피 시간! –