变量赋值并传递给其他函数

时间:2013-10-19 06:49:18

标签: c++

我得到了一个用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);
}

当我构建这个项目时,它给出了以下运行时间.. devcon.exe中0x00E4999F处的未处理异常:0xC0000005:访问冲突写入位置0x00000000。

我怀疑我是否正确分配了它?但我可能错了。

我正在Windows 7机器上的visual studio 2012中构建这个项目..

1 个答案:

答案 0 :(得分:1)

你的指针argval没有指向任何东西。你需要为此分配内存。 尝试

PWSTR* argval = new PWSTR[3];