使用 cout 打印字符串数组不起作用

using cout to print an string array not working

我有这段代码,它应该计算一个数组的字符串,但它什么也没做:/ 另外,当我 运行 .exe 文件本身时,它会给出一些错误,即在文件中找不到 basic_string。

#include <iostream>
#include <string>
using namespace std;

//red is F-face, yellow is D-face
//B G O R W Y

class cube{
    public:
        string cubeCorners[8] = {"BOY", "GOY", "GRY", "BRY", "BOW", "GOW", "GRW", "BRW"};

        void U(){
            cout << cubeCorners[1];
            cubeCorners[2] = cubeCorners[3], cubeCorners[6] = cubeCorners[2], cubeCorners[7] = cubeCorners[6], cubeCorners[3] = cubeCorners[7];
        }
};

int main(){
    cube obj;
    obj.U();
    return 0;
}

我该如何解决这个问题,我做错了什么?

几年前,当我使用 MinGW 时,遇到了与您完全相同的问题。每当代码使用任何C++标准库函数时,它都可以编译,但不能运行。

问题是因为libstdc++安装不正确。快速修复是将 -static-libstdc++ 添加到您的编译器选项。但是,要完全解决此问题,您必须重新安装编译器和标准库。