Centos7 g ++ "to_string не является членом std" - PullRequest
1 голос
/ 03 февраля 2020

У меня есть довольно стандартный код C ++, в котором я использую to_string для добавления вместе sting и int, например:

#include <string>
using namespace std;

class Color{
public:
    int red, blue, green;

    Color(int r, int g, int b){
        red = r;
        green = g;
        blue = b;
    }

    string to_string(){
        string color = "(" + std::to_string(red) + ", " + std::to_string(green) + ", " + std::to_string(blue) + ")";
        return color;
    }

    string colorize(string text){
        string styled = "\033[38;2"+std::to_string(red)+";"+std::to_string(green)+";"+std::to_string(blue)+";177m"+"\n"+text+"\n"+"\033[0m";
        return styled;
    }

};

Когда я пытаюсь скомпилировать это с помощью g ++ на Centos7 , Я получаю ошибку "to_string не является членом std". Что мне нужно сделать? Почему это не работает? Я запускаю команду сборки g++ main.cpp

Я использую g cc версия 4.8.5

1 Ответ

3 голосов
/ 04 февраля 2020

Я считаю, что вам не хватает флага компилятора -std=c++11, поскольку std::to_string введен в версии стандарта C ++ 11.

В более старых версиях G CC вы можете использовать -std=c++0x для C ++ 11 или -std=c++1y для C ++ 14.

...