0

C++ で記述されたコマンド ライン ユーティリティ コードを入手しました。このコードには独自の main() 関数があります。今、私はこれの上に自分のプログラムを書きたいと思っています.だから私は自分自身のmain()を宣言し、ユーティリティのmain()関数を別の関数がTest()と言うようにしています。

Test() は次のようになります。

int Test(_In_ int argc, _In_reads_(argc) PWSTR* argv){
.
.
.
}//doing some work

main() から Test() に引数を渡したい

main() の私の実装は次のとおりです。

int main(){
int argc=3;
PWSTR* argval=NULL;
    PWSTR ptr1 = _TEXT("asd");
    PWSTR ptr2 = _TEXT("fzx");
    PWSTR ptr3 = _TEXT("qwe"); 
        argval[0]=ptr1;
    argval[1]=ptr2;
    argval[2]=ptr3;
        Test(argc,argval);
}

このプロジェクトをビルドすると、次の実行時間が発生します。

私はそれを正しく割り当てているかどうか疑問に思っています..?しかし、私は間違っているかもしれません。

Windows 7 マシンの Visual Studio 2012 でこのプロジェクトを構築しています。

4

1 に答える 1

1

あなたのポインター argval は何も指していません。そのためにメモリを割り当てる必要があります。試す

PWSTR* argval = new PWSTR[3];
于 2013-10-19T06:54:41.643 に答える