我之前遇到过此问题,但找到了解决方法,仅这次无法解决。
我正在尝试使用'stof'函数,但出现错误:
'stof'不是'std'的成员
函数“stof”无法解析
如果此页面上显示,我将以确切的方式使用它:http://www.cplusplus.com/reference/string/stof/
这是我的包括:
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
那么,我在做什么错呢?如果找不到解决方案,有人可以指出我另一种将字符串转换为float并在字符串不兼容的情况下引发异常的方法吗?
编辑:更新示例程序和错误。
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
string testString = "";
float testFloat = 0.0;
testFloat = std::stof(testString);
return 0;
}
我得到的错误是:
说明资源路径位置类型
'stof'不是'std'main.cpp的成员/Assignment/src第33行C/C++问题
说明资源路径位置类型
函数'stof'无法解析main.cpp/Assignment/src第33行语义错误
最佳答案
您正在正确使用stof
。这是gcc 4.7.2的MinGW版本中的known bug。应该在gcc 4.8中修复。在SO上有许多将字符串转换为数字的示例。这是one。您必须自己动手才能获得所需的异常行为,但是这些示例应该可以帮助您入门。