我得到一个带有表达式的调试断言错误:nptr!= NULL
我的代码:
#include <iostream>
using namespace std;
void main(int argc, char* argv[])
{
cout << "Hello Number " << atoi(argv[1]) << endl;
}
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
最有可能的解释是,您没有将任何参数传递给您的程序,例如您使用命令runme 7
。
argv[argc]
字符串必须为NULL
,这样才能解释断言发生的原因。
在尝试使用之前,请检查您是否具有正确数量的参数:
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char* argv[]) {
if (argc != 2) {
cerr << "Usage: runme <integer argument>" << endl;
return 1;
}
cout << "Hello Number " << atoi(argv[1]) << endl;
}