'Error: void value not ignored as it ought to be' but I'm not setting anything with a void?
'Error: void value not ignored as it ought to be' but I'm not setting anything with a void?
我一直在尝试遍历 objects 的列表,但每当我尝试调用我的显示函数时,它都会向我抛出此错误。
主要来源
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;
股票header
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, string ticker, 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;
}
这是我目前为我的股票设置的 class 我对股票做错了什么 class?
*itr->display();
应该是:
itr->display();
itr->
是 shorthand 对于 (*itr).
添加额外的取消引用 (*
) 使其成为 *(itr->display());
display()
returns void
,无法取消引用。
我一直在尝试遍历 objects 的列表,但每当我尝试调用我的显示函数时,它都会向我抛出此错误。
主要来源
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;
股票header
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, string ticker, 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;
}
这是我目前为我的股票设置的 class 我对股票做错了什么 class?
*itr->display();
应该是:
itr->display();
itr->
是 shorthand 对于 (*itr).
添加额外的取消引用 (*
) 使其成为 *(itr->display());
display()
returns void
,无法取消引用。