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

Variable Assignment and passing to other function

本文关键字:其他 函数 赋值 变量      更新时间:2023-10-16

我得到了一个用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 中0x00E4999F未处理的异常.exe: 0xC0000005:访问冲突写入位置0x00000000。

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

我正在Windows 7机器上的Visual Studio 2012中构建这个项目。

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

PWSTR* argval = new PWSTR[3];