【发布时间】:2020-02-19 08:44:18
【问题描述】:
环境: Visual Studio 2008 专业版
我正在尝试调试十六进制到十进制的转换,但不幸的是得到“术语不评估为采用 3 个参数的函数”这个错误。谁能建议如何解决这个问题?
代码:
#include <string>
using namespace std;
int main()
{
int stoi;
int number = 0;
string hex_string = "12345";
number = stoi(hex_string, 0, 16);
cout << "hex_string: " << hex_string << endl;
cout << "number: " << number << endl;
return 0;
}
【问题讨论】:
-
stoi是一个整数,你为什么要把它当作一个函数来调用? -
@VTT 如果未声明它会给出类似“错误 C3861: 'stoi': identifier not found”的错误
-
你想使用 std::stoi en.cppreference.com/w/cpp/string/basic_string/stol (使用命名空间 std 错误的另一个原因)
-
@Adderbill 不,它没有 - wandbox.org/permlink/p0BmWNaYTAaFm8HR
-
对 C++11(其中引入了
stoi)的支持充其量是有限的。您需要不同的解决方案或不同的编译器。 (请注意,如果这是学校练习,您应该自己进行转换,而不是使用库。)
标签: c++ visual-studio type-conversion hex decimal