Предположим, следующий код:
#include <string>
#include <iostream>
using namespace std;
struct A
{
operator int()
{
return 123;
}
operator string()
{
return string("abc");
}
};
void main()
{
A a;
cout<<(a==123)<<endl;
//cout<<(a==string("abc"))<<endl;
}
Сначала я сравниваю объект a
с переменной int
.Затем я пытаюсь сравнить его с переменной string
, но программные файлы для компиляции.Со строкой, содержащей сравнение, закомментировано, это просто компилируется.В чем проблема?