3
C++ 템플릿 메서드에 대한 참조로 벡터를 전달하려고 시도했지만 저의 머리를 깨뜨린 것은 모두 빈 목록입니다. 매개 변수가 값에 의해 전달되고있는 것 같습니다.템플릿 메서드를 참조하여 벡터를 전달합니다.
나는 사이 썬 0.18 & 파이썬 2.7
모든 아이디어를 사용하고?
C++ 측면
class VectByRef
{
public:
VectByRef::VectByRef();
template<typename T>
void GetVector(T& var);
}
template<typename T>
void VectByRef::GetVector(T& var)
{
var.push_back(1);
var.push_back(2);
var.push_back(3);
}
사이 썬 측
cdef extern from "VectByRef.h":
cdef cppclass VectByRef:
VectByRef() except
vector[cython.int] GetVector(vector[cython.int])
def getVector(self):
cdef vector[cython.int] resultVectInt
self._vectByRef.GetVector(<vector[cython.int]> resultVectInt)
print(resultVectInt) # The result is an empty list []
'GetVector' 메쏘드를 사용하면,'VectByRef'의 메쏘드 대신에'T' 메쏘드로 정의하는 이유는 무엇입니까? – michaelb958
내 잘못 됐어, 이제 고쳐 졌어, 고마워. – firebird2099
나는 또한이 질문이있다. 나는 당신이 다른 사이트에 이것을 게시 한 것을 본다. 다른 사이트에서 답변을 얻었습니까? – spencerlyon2