3
py::object obj = whatever();
내가 정상 파이썬 규칙을 사용하여 인쇄 할 부스트 파이썬 객체를 가지고있다.
// I want the effect of print 'My object is ', obj
std::cout << "My object is " << obj << std::endl;
거대한 컴파일러 덤프로 컴파일되지 않습니다. 어떻게해야합니까?
내가 Boost.Python와 그 익숙하지 않은,하지만 난 그것은'py :: object'에 대해 정의 된'operator << (ostream &)'를 가지고 있는지 확신하지 못합니다. – nneonneo
아마도 당신은 인자로'obj'를 전달하는 파이썬의'str()'함수를 호출하고 반환 값을'std :: string'으로 변환하고 그것을 스트리밍하는 것과 동일한 코드를 작성하고 싶을 것입니다. 이 접근 방식을 사용하여 모든 파이썬 객체에 스트리밍 연산자를 제공하기 위해 자신 만의'operator << (ostream &, py :: object const &)'를 제공 할 수 있습니다. – cdhowie