小编Tii*_*avi的帖子

如果我不给它命令行参数,为什么程序会崩溃?

我做了一个简单的测试程序来玩C++ 11线程.

#include <iostream>
#include <stdlib.h>
#include <thread>
using namespace std;

void tee(int civ)
{
    for(int loop=0; loop<19; loop++, civ++)
    {
        civ = civ%19;
        cout << loop << "\t" << civ << endl;
        this_thread::sleep_for(chrono::milliseconds(300));
    }
}

void koot()
{
    while(true)
    {
        cout << ":) ";
        this_thread::sleep_for(chrono::milliseconds(300));
    }
}

int main(int argc, char *argv[])
{
    thread saie(tee, atoi(argv[1])),
        kamaa(koot);
    saie.join();
    kamaa.join();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

只要我提供命令行参数,它就可以正常工作,但如果我不提供,它会崩溃.怎么解决这个问题?我尝试检查参数计数,如果它们存在,则无济于事.

编辑:我不得不添加这一行:

if(argc < 2) return 1;
Run Code Online (Sandbox Code Playgroud)

c++ crash command-line command-line-arguments

-13
推荐指数
1
解决办法
1671
查看次数

标签 统计

c++ ×1

command-line ×1

command-line-arguments ×1

crash ×1