2012-03-26 8 views
3

私はC++アプリケーションにPythonを組み込みました。私はPythonから呼び出せるいくつかのC関数を作成しました。Pythonのデフォルトのパラメータは、C++で定義された関数ですか?

は、私は現在の引数をやって取得するには、次の

if (!PyArg_ParseTuple(args, "zk", &param1, &param2)) 
    return NULL; 

しかし、私はparam2はオプションになりたいです。別々に2つを確認するにはどうしたらいいですか?

答えて

3

You don't.

|

Pythonの引数リスト内の残りの引数はオプションであることを示します。オプションの引数に対応するC変数は、デフォルト値に初期化する必要があります。オプションの引数を指定しないと、PyArg_ParseTuple()は対応するC変数の内容には触れません。

param2 = 42; 
if (!PyArg_ParseTuple(args, "z|k", &param1, &param2)) 
    return NULL; 
+0

スウィート2分がアップしていると、私はあなたの答えを受け入れるだろう - 高速応答に感謝します! –

関連する問題