C ++将一个int转换为字符串

C++ Casting out a int into string

我打算更改 x[] 数组中的元素,以排除数字 1、2、3、4。但是一旦我执行了代码。它将显示此错误消息。

error: no matching function for call to 
std::__cxx11::basic_string<char>::basic_string(int&)

任何人都可以帮助我做任何事情来改变我的内部元素而不是使用 for 循环吗?我可以一个一个地改变它,我想一​​起改变它以防万一节省时间和编写的代码量。

#include <iostream>

using namespace std;

string x[] = {"X", "O", "X", "O"};

int main()
{
    cout << x[0] + x[1] + x[2] + x[3] << endl;

    for (int i = 0; i < 4; i++){
        x[i] = (string)i;
    }

    cout << x[0] + x[1] + x[2] + x[3] << endl;

    return 0;
}

错误原因如下:

x[i] = (string)i;

阅读here:如何使用函数std::to_string将数字转换为字符串

std::to_string(i);

#include <iostream>

std::string x[] = {"X", "O", "X", "O"};

int main()
{
    std::cout << "Before: " << x[0] + x[1] + x[2] + x[3] << std::endl;
    for (int i = 0; i < 4; i++)
    {
        x[i] = std::to_string(i);
    }
    std::cout << "after: " << x[0] + x[1] + x[2] + x[3] << std::endl;
 return 0;
}

此处示例:https://ideone.com/X4dEdz