Language: C++

#include<bits/stdc++.h>
using std::cout;
using std::cin;
using std::endl;

class dice
{
    private:
        int roll[6];

    public:
        explicit dice(int in[6]){
            for (int i = 0; i < 6; i++)
                roll[i] = in[i];
        }

        void move(const char c){
            int tmp;
            switch(c){
                case 'N':
                    tmp = roll[0];
                    roll[0] = roll[1];
                    roll[1] = roll[5];
                    roll[5] = roll[4];
                    roll[4] = tmp;
                    break;

                case 'E':
                    tmp = roll[0];
                    roll[0] = roll[3];
                    roll[3] = roll[5];
                    roll[5] = roll[2];
                    roll[2] = tmp;
                    break;

                case 'W':
                    tmp = roll[0];
                    roll[0] = roll[2];
                    roll[2] = roll[5];
                    roll[5] = roll[3];
                    roll[3] = tmp;
                    break;

                case 'S':
                    tmp = roll[0];
                    roll[0] = roll[4];
                    roll[4] = roll[5];
                    roll[5] = roll[1];
                    roll[1] = tmp;
                    break;

                default:
                    cout << "Wrong Direction: "
                         << c << endl;
                    break;
            }
        }
        int operator()(size_t i){
            return roll[i];
        }

        void show()
        {
            for (int i = 0; i < 6; i++)
                cout << roll[i] << " " << std::flush;
        }

        bool p_r(dice d_, int up, int front){
            int i = 0, order[4];
            dice d(roll);
            while (i < 4)
            {
                if (d(1)==front)
                    break;
                d.move('N');
                i++;
            }

            if(d(1)!=front)
            {
                d.move('W'); d.move('N');
                if(d(1)!=front)
                {    d.move('S'); d.move('S');}
            }
            //確定でd(1)が前面

            i = 0;
            while (i < 4)
            {
                if(d(0)==up)
                    break;
                d.move('W');
                i++;
            }

            order = {d_(0), d_(1), d_(5), d_(4)};
            

            for (int i = 0; i < 6; i++)
            {
                if (d(i) != d_(i))
                {    return false;}
            }
            

            return true;  
        }
};

int main()
{
    int eye1[6], eye2[6];

    for (int i = 0; i < 6; i++)
        cin >> eye1[i];
    
    for (int i = 0; i < 6; i++)
        cin >> eye2[i];

    dice d1(eye1), d2(eye2);
/*
    p_r(&d2, d1(0), d1(1));

    for (int i = 0; i < 6; i++)
    {
        cout << d2(i) << endl;
    }
*/    

    if(d2.p_r(d1, d1(0), d1(1))!=false)
        cout << "Yes" << endl;
    else
        cout << "No" << endl;

    
    return 0;
}


Compiler output:
a.cc: In member function 'bool dice::p_r(dice, int, int)':
a.cc:96:19: error: assigning to an array from an initializer list
   96 |             order = {d_(0), d_(1), d_(5), d_(4)};
      |             ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~