我得到了一个用 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 中构建这个项目。