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 のコメントからコピーを貼り付けました (未回答の質問のリストをクリアすることを願っています。1 か月が経過しました!)

于 2012-12-13T16:14:29.623 に答える