Cython std ::两个指针对,期望一个标识符或文字

时间:2012-11-06 10:24:21

标签: c++ python pointers cython

为什么在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

1 个答案:

答案 0 :(得分:8)

类型处理相同in the pair definition;它可能是[]语法的一般限制。您可以尝试使用typedef:ctypedef Foo* Foo_pointer

来解决此问题

@JFSebastian从评论中粘贴的副本,以便将此问题标记为已回答(希望清除未回答的问题列表 - 已经过了一个月!)