繁体   English   中英

C ++ atof无效使用void bug

[英]C++ atof invalid use of void bug

请帮助我,我已经接近完成这个庞大的项目。 我不明白我收到的错误

score-=(double)atof(kitty.pop_front());

!无效使用void表达式

kitty是双端队列类型的字符串。 得分是很长的两倍。 我对类型转换不好,但是错误似乎真的无关吗?

我尝试了其他论坛的解决方案,但它们都相对无关。

dequeue :: pop_front()返回void:

void pop_front();

因此,您不能以这种方式在表达式中使用它。

您可以改为:

score-=(double)atof(kitty.front().c_str());
kitty.pop_front();

如果deque值为std::string ,则atof函数调用应为:

score -= atof(kitty.front().c_str());

原因是atof需要一个const char*参数,而std::string::c_str()返回一个代表字符串的const char*

第二, front()函数返回在双端队列的前面的值。 如果要从front删除该值,则调用kitty.pop_front()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM