나는 꿀꺽 꿀꺽를 사용하고, 그리고 헤더 파일 evidence.h
에, 나는 다음이클래스 선언 내에서 SWIG typedef를 올바르게 내보내려면 어떻게해야합니까? 나는 다음과 같은 한</p> <pre><code>namespace dai { class Evidence { public: typedef std::map<Var, size_t> Observation; }; } </code></pre> <p>그리고 꿀꺽 꿀꺽 인터페이스 파일 <code>dai.i</code>에 :
//The types are defined in both swig and the output cxx file...
%include "../include/dai/evidence.h"
%include "../include/dai/var.h"
#include "../include/dai/evidence.h"
//namespace std {
%{
typedef std::map<Var, size_t> Observation;
%}
// %template(Observation) map<Var, size_t>;
//}
typedef std::map<Var, size_t> Observation;
%template(VecObservation) std::vector<dai::Evidence::Observation>;
내가 믿고 Var은 생성 된 cxx 파일과 ml 파일을 올바르게 작성하기 때문에이 부분으로 넘어 가지 않을 것입니다. 내가 선언 한 VecObservation 템플릿에 항목을 추가하는 것과 관련된 문제가 있습니다.
let observation = new_Observation C_void in
let observations = new_VecObservation C_void in
let _ = (invoke observations) "push_back" observation in()
그리고 나는 push_back
라인에 해당하는 오류가 점점 오전 :하십시오 test.ml 파일에서, 나는 다음과 같은 있습니다 (". 찾을 수 없습니다 적절한 변환"실패)
을