整数のリストをC++で書かれた関数に渡したいだけです。私はテンプレート(.tm)ファイルとすべてをセットアップしました。スカラー引数を指定してテスト関数を正常に呼び出すことができます。関数がlist引数で呼び出すと、関数がまったく定義されていないかのように動作します。私は引数の型が一致しないと思われる。MathematicaからC++へのリストの受け渡し(Mathlink)
テンプレートのドキュメント(http://reference.wolfram.com/mathematica/ref/file/file.tm.html)では、リストのデータ型は "Int32List"のようなものです。私はそれを使用するとき、私のC + +関数は、リストの長さのための特別な長いパラメータが含まれている必要があります。リストを使用する唯一のコード例は "sumalist.tm"です。この例では、IntegerList(dokuには表示されない型)を使用しています。
私がInt32Listを使用するとき、mprepの結果に余分な整数引数を持つ関数が必要です(dokuで書かれている限り長くない)。文書化されていないIntegerList型を使用する場合、余分な引数はlong型です。
私のスカラー型の実験では、tmファイルに "Integer"を使用していて、 "Integer32"で認識されていないときにC++関数が正しく呼び出されていました。
"sumalist.tm"の例では、ドキュメントが見つからなかった不思議なパターン(リスト:{___ Integer})も使用しています。私はEvaluate行が何を意味するのか理解したいと思います(リストの中括弧なしで関数を呼び出すことができると思われます)。
リストを持つC++関数を呼び出すのに本当に適切なデータ型を知っている人はいますか?
この説明に感謝しています。 – Batox