Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > problem with operators = and multiple +

Reply
Thread Tools

problem with operators = and multiple +

 
 
david
Guest
Posts: n/a
 
      02-19-2008
The code is located here:
http://www.paste.lt/paste/fafbd9fbfc...458aacf61aca8f

Before telling the problem I am now having and I would like to you
that there is still a lot of mistakes, missing parts, "const" words
and etc, but it works as it should be. I will make it better after I
will solve my problem.


So I have problem with = and + and even * (just wrote this part of
code) and I think I will be having in the future if I won't handle and
understand it now. The problem is in 352 line (there are two lines).
If I try to do like this: aaa + bbb + ccc it does work and returns new
intance of Aibe (not pointer or reference), aaa = bbb works just fine
too, it should make a deep copy of bbb (there still should be some
correction in code, like checking a = a, freeing memory of the first
one and etc.), but the code aaa = bbb + ccc + ... just does not work.
I am using gcc under Linux/Solaris/Mac OS X and I am getting this
error:

Macbookirma marius$ g++ -Wall -ansi -pedantic -o pirma pirma.cpp
pirma.cpp: In function 'int main(int, const char**)':
pirma.cpp:358: error: no match for 'operator=' in 'aaa =
Aibe:perator*(Aibe&)(((Aibe&)(& ccc)))'
pirma.cpp:238: note: candidates are: Aibe& Aibe:perator=(Aibe&)
pirma.cpp:359: error: no match for 'operator=' in 'aaa = Aibe:perator
+(Aibe&)(((Aibe&)(& ddd)))'
pirma.cpp:238: note: candidates are: Aibe& Aibe:perator=(Aibe&)

Could someone help with this?
It looks that I made some mistakes declarating operators or there is
some problems with returning types.

P.S. Sorry for making mistakes, too tired to make something correct.
 
Reply With Quote
 
 
 
 
Thomas J. Gritzan
Guest
Posts: n/a
 
      02-19-2008
david schrieb:
> The code is located here:
> http://www.paste.lt/paste/fafbd9fbfc...458aacf61aca8f
>
> Before telling the problem I am now having and I would like to you
> that there is still a lot of mistakes, missing parts, "const" words
> and etc, but it works as it should be. I will make it better after I
> will solve my problem.
>
>
> So I have problem with = and + and even * (just wrote this part of
> code) and I think I will be having in the future if I won't handle and
> understand it now. The problem is in 352 line (there are two lines).
> If I try to do like this: aaa + bbb + ccc it does work and returns new
> intance of Aibe (not pointer or reference), aaa = bbb works just fine
> too, it should make a deep copy of bbb (there still should be some
> correction in code, like checking a = a, freeing memory of the first
> one and etc.), but the code aaa = bbb + ccc + ... just does not work.
> I am using gcc under Linux/Solaris/Mac OS X and I am getting this
> error:


The problem is the missing "const" words and etc.

For example, your operator+ here:
Aibe operator + (Aibe &two);
should be:
Aibe operator + (const Aibe& two) const;

When you write
a = b + c;
the operator+ member function returns a temporary object. Temporaries
cannot be bound to non-const references, so all your functions taking only
non-const references won't take the result of calling one of your binary
operators.

--
Thomas
http://www.netmeister.org/news/learn2quote.html
post tenebras lux. post fenestras tux.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
sql IN (and other special operators) and bind parameters Iain Barnett Ruby 0 02-02-2011 10:03 PM
Re: Any way to use boolean operators and control words in ThunderBird Ctrl+F and Ctrl+K search? Andreas Borutta Firefox 0 10-06-2010 10:23 PM
Multiple suitable operators mathieu C++ 9 01-21-2010 08:22 PM
simple (?) question regarding the "&&" and "and" operators Philip Müller Ruby 4 04-18-2009 07:33 AM
perldb in emacs and shell * and ~ operators newsgroupie2003@yahoo.dk Perl Misc 0 08-15-2005 07:06 AM



Advertisments