Ce code fonctionne chez moi:
#include <iostream>
using namespace std;
class Model
{
public:
unsigned _p;
unsigned _q ;
unsigned _s;
Model(int value);
operator int();
Model& operator=(int value);
};
Model::Model(int value)
{
*this = value;
}
//------------------------------------------------------------------------------
Model::operator int()
{
int value = (_p * 4) + (_q * 2) + _s;
return value;
}
//------------------------------------------------------------------------------
Model& Model::operator=(int value)
{
_s = (value % 2);
_q = (value / 2) % 2;
_p = (value / 4) % 2;
return *this;
}
int main()
{
Model m = 2;
cout << (int)m << endl;
}
Qu'est ce qui provoque l'erreur que tu donnes?
|