微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

'错误:void 值没有被忽略,因为它应该是'但我没有设置任何带有 void 的东西?

如何解决'错误:void 值没有被忽略,因为它应该是'但我没有设置任何带有 void 的东西?

我一直在尝试遍历对象列表,但是每当我尝试调用我的显示函数时,它总是向我抛出这个错误

主要来源

Stocks gamestop("Gamestop","GMSP",21.45f);
Stocks heroShop("Heros Shop","HESP",0.35f);
Stocks amazon("Amazon","AMZN",8.36f);
Stocks iphone("Iphone","IPHN",56.34f);
Stocks youtube("Youtube","YUTB",89.35f);

list<Stocks> listStocks = 
{
    gamestop,heroShop,amazon,iphone,youtube
};

list<Stocks>::iterator itr;
itr = listStocks.begin();

for (itr; itr != listStocks.end(); itr++)
{
    *itr->display();
}

return 0;

股票标题

    string companyName{"Default"};
    string tickerSymbol{"DEFAULT"};
    float sharePrice{10.25f};
    
    Stocks();
    Stocks(string company,string ticker,float price);
    Stocks(const Stocks& orig);
    virtual ~Stocks();
    
    void display();

股票来源

Stocks::Stocks(string company,float price)
{
    companyName = company;
    tickerSymbol = ticker;
    sharePrice = price;
    
}

void Stocks::display()
{
    cout << setprecision(2) << fixed << endl;
    
    cout << "Company Name:\t" << companyName << endl; 
    cout << "Ticker Symbol:\t" << tickerSymbol << endl;
    cout << "Share Price:\t" << sharePrice << endl;
}

这是我目前为股票类设置的内容,我在股票类中做错了什么吗?

解决方法

*itr->display();

应该是:

itr->display();

itr->(*itr).

的简写

添加额外的取消引用 (*) 使其成为 *(itr->display());

display() 返回 void,不能取消引用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。