This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Overloading reference operator


Yes my question is why does'nt assignment operator work out of the box ?

On Sun, Apr 25, 2010 at 12:02 AM, Andrew Haley <aph@redhat.com> wrote:
> On 04/24/2010 07:07 PM, Andrew Haley wrote:
>> On 04/24/2010 06:30 PM, Samkit Jain wrote:
>>> template<class T>
>>> MyClass
>>> {
>>> ?public:
>>> ? ? MyClass() : m_data(10) { }
>>> ? ? operator T&() { return m_data; }
>>> ?private:
>>> ? ? T m_data;
>>> };
>>
>> I think this example does what you want:
>>
>> template<class T> class
>> MyClass
>> {
>> public:
>> ? MyClass() : m_data(10) { }
>> ? operator T&() { return m_data; }
>> ? T& operator= (const T &t) { m_data = t; return *this; }
>> private:
>> ? T m_data;
>> };
>
> I'm sorry, I think I misunderstood your question. ?You're asking why
>
> ?instance++;
>
> works, but, say
>
> ?instance = instance + 1;
>
> doesn't. ?Apologies.
>
> Andrew.
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]