调试断言失败

时间:2017-04-03 10:25:07

标签: c++ visual-studio visual-c++

今天我从Visual Studio的调试文件夹运行.exe文件,这段代码中出现无效空指针错误

  • 错误:调试断言失败
    • 程序:C:\ WINDOWS \ SYSTEM32 \ MSVCP110D.dll
    • 文件:E:\ visual studio 11 \ vc \ include \ xstring
    • 行:1143
    • 表达式:无效的空指针

我主要完成了代码,但是一行代码存在一个问题。由于第4行(我加粗的那一行),它一直在说错误:

void main(int argc,const char *argv[])
{
string a, HauTo;
**string fileName(argv[1]);**
StackC s;
InitS(s); //Initialize an empty stack 

fstream fi, fo;
fi.open(fileName, ios::in);
fo.open("Output.txt", ios::out);
getline(fi, a);

我正在做一项任务,如果有人帮助我,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

您还没有说过如何运行此功能,但请注意您有一个argc,但您没有检查过。

这表示您向main发送了多少个args。

如果您尝试访问argv[1]并且只有一个arg(argv[0] - 程序名称本身),则表示您有错误。

如果您特别希望传递参数或"命令参数"在Visual Studio中,右键单击项目并转到" Properties"。然后找到"调试"并在那里输入你的参数

enter image description here