在我将编译器设置设置为支持 c++11 后,我仍然收到错误“stoi”未声明。为啥? [复制]

Posted

技术标签:

【中文标题】在我将编译器设置设置为支持 c++11 后,我仍然收到错误“stoi”未声明。为啥? [复制]【英文标题】:I am still getting the error 'stoi' was not declared after I set my compiler setting to support c++11. Why? [duplicate]在我将编译器设置设置为支持 c++11 后,我仍然收到错误“stoi”未声明。为什么? [复制] 【发布时间】:2014-12-20 01:59:25 【问题描述】:

这是我的代码

#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>

using namespace std;

int main()
    string humanNo;
    int computerNo = 0;
    do
        getline(cin,humanNo);
        computerNo = stoi(humanNo);
    while(computerNo != 4);

我正在尝试使用 stoi, stol 在我的 CodeBlocks IDE 中轻松地从字符串转换为整数。起初我了解到您必须首先在编译器设置中启用 c++11。我启用了它,但我仍然遇到同样的错误。有谁知道我可能遇到什么问题?

我正在使用 MinGW 编译器。

【问题讨论】:

你用的是什么编译器? 告诉我们您正在使用 CodeBlocks IDE 并没有真正的帮助,没有人关心您使用的是什么编辑器,编译器才是最重要的。我假设您使用的是 mingw 编译器,在这种情况下这些函数不可用 CodeBlocks 默认与 MinGW 4.7.1 一起打包。你可以试试nuwen.net(一个64位的4.9.1发行版,见下面的副本),我相信字符串转换函数可以工作。 是的 minGw。我该怎么办? @remyabel 我下载了 MinGW 发行版并解压到同一个文件夹,同样的错误:( .. 请帮助 【参考方案1】:

我无法修复 CodeBlocks 以支持 C++11,但我下载了 Orwell Dev C++ 并按照 here on *** 上的说明进行操作。我建议大家切换到它,因为它会让你免于头痛。谢谢大家。

编辑:如果 CodeBlocks 不适合你们。 :)

【讨论】:

实际上,代码块工作得很好。你只是缺乏经验 - 这不是太多的批评(每个人都必须开始一些),只是一个友好的提醒,在你获得比现在更确定的立足点之前,你可能不应该提供建议。 @Cubic 在我的情况下,它并没有按照人们给出的建议解决,我仍然使用代码块..只是无法为 C++11 设置..

以上是关于在我将编译器设置设置为支持 c++11 后,我仍然收到错误“stoi”未声明。为啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将Java项目构面设置为12?

为啥即使在我将约束设置为 0 后 UITableView 上仍有余量

为啥在我设置它们后获取的数据不填充状态?

为啥我将tableview的分隔符设置为None时,分隔线仍然存在?

使用-std = c ++ 11后,'stoi'未在此范围内声明

可能编译器默认不使用C++11的特性,VS设置使用C++11的特性的方法