项目场景:
项目场景:今天在做进制转换的课件,说明部分完成后,加几个例子进制转换的例子,但是代码执行总是出错。
问题描述
Dev C++ 中使用 to_string 函数一直报错
cpp
int n;
cout << "请输入一个不大于32767的整数: ";
cin >> n;
// 检查输入是否合法
if (n < 0 || n > 32767) {
cerr << "输入的数字不在允许范围内!" << endl;
return 1;
}
// 用于存储二进制结果的字符串
string binaryStr;
// 手动进行二进制转换
while (n > 0) {
int remainder = n % 2; // 取余数,得到当前最低位的二进制数
binaryStr = std::to_string(remainder) + binaryStr; // 将余数添加到字符串前面
n /= 2; // 整数除法,去掉最低位
}
原因分析:
Dev C++ 为 5.11 版本,支持的 C++ 版本有点儿老,而 to_string 函数需要 C++ 的版本至少为 11
解决方案一:
在 Dev C++ 中,单击【工具】- 【编译选项】
选中【编译时加入以下命令】,并输入 -std=c++11,单击【确定】按钮
解决方案二:
在 Dev C++ 中,单击【工具】- 【编译选项】
选中【代码生成/优化】- 【代码生成】,在语言标准(-std)后面的下拉框中,选择【GNU C++11】