变量赋值和传递给其他函数 我得到了一个用C++编写的命令行实用代码。 这段代码有自己的main()函数。 现在我想在此基础上编写我的程序,所以我声明了我自己的main()并将实用程序的main()函数作为另一个函数,比如Test()

变量赋值和传递给其他函数 我得到了一个用C++编写的命令行实用代码。 这段代码有自己的main()函数。 现在我想在此基础上编写我的程序,所以我声明了我自己的main()并将实用程序的main()函数作为另一个函数,比如Test(),c++,C++,现在Test()如下所示: 我想从main()向Test()传递参数 我对main()的实现如下: 当我构建这个项目时,它给出了以下运行时间。。 devcon.exe中0x00E4999F处未处理的异常:0xC0000005:访问冲突写入位置0x00000000 我怀疑我的分配是否正确。。?但我可能错了 我正在windows 7机器上的visual studio 2012中构建此项目。您的指针argval没有指向任何东西。您需要为此分配内存。 试一试 实际上你提到的是C风格的内存分配。如果你使用

现在Test()如下所示:

我想从main()向Test()传递参数

我对main()的实现如下:

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

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


我正在windows 7机器上的visual studio 2012中构建此项目。

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


实际上你提到的是C风格的内存分配。如果你使用C++,那么我建议的是动态分配内存的首选方法。一般来说,除非绝对必要,否则C与C++混合不是一个好主意。
int Test(_In_ int argc, _In_reads_(argc) PWSTR* argv){
.
.
.
}//doing some work
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);
}
PWSTR* argval = new PWSTR[3];