none
C#からC++/CLIのメソッドを呼び出す場合の引数がNULLの場合について RRS feed

  • 質問

  • いつもお世話になっております.

    タイトルの件について質問があります.

    現在,C#からC++/CLIの関数を呼び出すためのプログラムを作っています.

    そこで質問なのですが,

    C#側で呼び出したC++/CLIのメソッドの引数にnullを渡したい場合どうしたらいいのでしょうか?

    試しに,nullを渡したら「未定義の値」となっていました.

    分かる方がおられましたらアドバイスをお願いします.

     

     

    //C#側 

    //引数にnullを指定

    void method_Wrapper(byte[] InuptImage)

    {

    Wrapper.method(InuptImage);

    }

     

    //C++/CLI側

    namespace Wrapper

    {

    void method(array<unsigned char, 1>^  InuptImage)

    {

    //InuptImageは「未定義の値」となってしまう

    }

     

    }

    2011年12月1日 5:46

回答

  • null=未定義値です。

    「C++/CLIのメソッドの引数にnullを渡したい」と書かれていますが、希望通りnullが渡されています。実際に何をしたいのかご自身でもう一度深く考え直す必要があります。

    • 回答としてマーク Spring96 2011年12月1日 6:33
    2011年12月1日 5:56

すべての返信

  • null=未定義値です。

    「C++/CLIのメソッドの引数にnullを渡したい」と書かれていますが、希望通りnullが渡されています。実際に何をしたいのかご自身でもう一度深く考え直す必要があります。

    • 回答としてマーク Spring96 2011年12月1日 6:33
    2011年12月1日 5:56
  • 佐祐理様

    回答ありがとうございます.

     

    やりたいこととしては,

    C++/CLI側でC#側から受け取った引数がnullであるかを判断したかっただけなのですが,

    bool b = InuptImage == nullptr; という様なことが出来るのですね.

    おかげさまで気が付くことができました.

    ありがとうございました.

    2011年12月1日 6:33