C++ std::string';没有名为'的成员;弹回';

C++ std::string';没有名为'的成员;弹回';,c++,sdl,C++,Sdl,您好,我在尝试运行Lazy foo的第32个SDL2教程代码时遇到了这个错误 这是代码片段 //lop off character inputText.pop_back(); renderText = true; 这是申报单 //The current input text. std::string inputText = "Some Text"; 我使用的是最新版本的代码::blocks 13.12。功能pop_back也以绿色突出显示。问题是什么?我没有以

您好,我在尝试运行Lazy foo的第32个SDL2教程代码时遇到了这个错误

这是代码片段

//lop off character
inputText.pop_back();
renderText = true;
这是申报单

        //The current input text.
        std::string inputText = "Some Text";

我使用的是最新版本的代码::blocks 13.12。功能pop_back也以绿色突出显示。问题是什么?我没有以任何方式修改他的代码。您可能会认为这是开箱即用的,因为他推荐了code::blocks

此函数从C++11开始提供:

因此,您的编译器必须支持它,您应该在此IDE论坛上查看与此问题相关的任何信息,我为您找到了一个线程:


此函数从C++11开始提供:

因此,您的编译器必须支持它,您应该在此IDE论坛上查看与此问题相关的任何信息,我为您找到了一个线程:


代码17:在“全局编译器设置”或“项目构建选项”中框11的方框中,标明“G++遵循C++ 11 ISO C++语言标准[-STD= C++ ++ ]。同样值得仔细检查编译器是否支持C++11


代码17:在“全局编译器设置”或“项目构建选项”中框11的方框中,标明“G++遵循C++ 11 ISO C++语言标准[-STD= C++ ++ ]。同样值得仔细检查编译器是否支持C++11


Code::blocks是一个IDE,而不是一个编译器。检查正在使用的编译器版本(很可能是gcc)。Code::blocks的可能副本是IDE,而不是编译器。检查正在使用的编译器的版本(很可能是gcc)。code::blocks是否不使用c++11?这是怎么回事?有什么我必须配置的吗?使用g++可以启用C++11功能,并使用-std=C++11。答案中应该包含@marcinj的注释,它可以立即工作。(我正在做与OP相同的教程,并且有相同的问题)那么code::blocks不使用c++11吗?这是怎么回事?有什么我必须配置的吗?使用g++可以启用C++11功能,并使用-std=C++11。答案中应该包含@marcinj的注释,它可以立即工作。(我正在做与OP相同的教程,并且有相同的问题)