10

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

4

1 回答 1

9

这些类型pair定义中的处理方式相同;[]这可能是语法的一般限制。您可以尝试使用 typedef 解决它:ctypedef Foo* Foo_pointer

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

于 2012-12-13T16:14:29.623 回答