以下に示す私のコードの何が問題になっていますか?誰かが光を投げてください。御時間ありがとうございます !
    #include<iostream.h>
      using namespace std;
     struct mydata{
        int mx;
        mydata(int x = 0){}
        mydata operator+(const mydata& rhs){
                mydata temp(rhs);
                return temp;
        }
        operator int() const{ return mx; }
        operator double() const{ return mx; }
};
int main(){
        mydata d;
        mydata r = d + 5; // L1
        5 + d; // L2
        d + d; // L3
}