首页 > 解决方案 > 使用 cout 语句和 connect() 会导致我的程序崩溃的原因是什么

问题描述

我不明白为什么我的cout语句(应该在读取 json 文件后输出股票价格)不断崩溃。下面是代码cout

Json::Value chartData = IEX::stocks::delayedQuote(symbolSearchedStd);
cout << chartData[0]["delayedPrice"].asDouble() << endl;

我可以cout << chartData看到 JSON 正在输出正确的格式"delayedPrice"

{
    "delayedPrice" : 33.058999999999997,
    "delayedPriceTime" : 1621930415167,
    "delayedSize" : 101,
    "high" : 33.719999999999999,
    "low" : 32.649999999999999,
    "processedTime" : 1657842169267,
    "symbol" : "TWTR",
    "totalVolume" : 17031983
}

而且我还将它连接到 aQTimer以每隔几秒钟更新一次:

connect(&dataTimer, SIGNAL(timeout()), this, SLOT(readData()));
    dataTimer.start(5000);

但是,由于某种原因,该cout语句仍不会将延迟价格输出为double. 为什么?我在这里做错了什么?

标签: c++qt

解决方案


推荐阅读