My program collapse when I run it. If I comment out line if((str1->compare(*str2))==0 ){...} it works OK. I don't know how to compare two elements of string * which I create and delete after comparing.
main.cpp: In function `int operator==(const Integer&, const Integer&)':
main.cpp:18: warning: taking address of temporary
main.cpp:19: warning: taking address of temporary
Integer.h
class Integer {
public:
    Integer(int val, char *opis):m_val(val),m_opis(opis)
        {
            this->m_val = 0;
            this->m_opis = strdup("0");
        }
    friend int operator==(const Integer&,const Integer&);
      private:
        int m_val;
        char *m_opis;
}
main.cpp
    int operator==(const Integer&a, const Integer&b){
        string *str1 = &string ( a.m_opis );
        string *str2 = &string ( b.m_opis );
        if((str1->compare(*str2))==0 ){return 1 ;} //<- Here is my problem i think.
        delete str1;
        delete str2;
        return 0;
    }
}
//Objects and comparing
    Integer o1(15,"lala");
    Integer o2(150,"lala");
    Integer o3;
    cout<<o1==o2;
 
     
     
    