为什么在Cython中可以包装
std::pair<int, Foo*> myPair;
但不是
std::pair<Foo*,Bar*> myPair;
特别是,使用Cython包装std::pair
如下:
pair[int, Foo*]
并且工作顺利,但是当第一个元素也是指针时我遇到了问题:
pair[Foo*,Bar*] myPair2
我正在
pair[Foo*,Bar*] myPair2
^
------------------------------------------------------------
test.pyx:50:17: Expected an identifier or literal
我在Linux上使用Cython 0.17.1,g ++ 4.4
答案 0 :(得分:8)
类型处理相同in the pair
definition;它可能是[]
语法的一般限制。您可以尝试使用typedef:ctypedef Foo* Foo_pointer
@JFSebastian从评论中粘贴的副本,以便将此问题标记为已回答(希望清除未回答的问题列表 - 已经过了一个月!)