From: Nusret BALCI <balcinus@yahoo.com>
To: corey taylor <corey.taylor@gmail.com>
Cc: gcc-help@gcc.gnu.org
Subject: Re: [C++] Derive a class from a tamplate
Date: Sun, 31 Jul 2005 18:35:00 -0000 [thread overview]
Message-ID: <20050731183455.23949.qmail@web41009.mail.yahoo.com> (raw)
In-Reply-To: <2e393d080507311123317cc008@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1893 bytes --]
Stefano,
Does this work for you? (see the attached file).
Nusret
--- corey taylor <corey.taylor@gmail.com> wrote:
> stefano,
>
> After taking a quick look at valarray, it seems
> that operator
> overloads that declare operator+ for valarray are
> non-member
> functions.
>
> You will need to declarea set of operator+
> overloads for mvector in
> the same style as valarray overloads. I think this
> is the problem
> you're seeing.
>
> Is there a reason you're trying to force a copy
> with the code above?
>
> corey
>
> On 7/31/05, stefano luceri
> <stefano@communicationfactory.it> wrote:
> > Hello to all .... excuse for my bad english
> >
> > I've the following problem writing a simple
> program. I would use the
> > metods of std::valarray class adding some self
> writed method for elemnts
> > of double type.
> >
> > I've thought something like this:
> >
> > /****************************/
> > using namespace std;
> >
> > class mvector : public valarray<double>
> > {
> > mvector();
> > mvector(int size);
> > }
> >
> > mvector :: mvector() : valarray<double>() {}
> > mvector :: mvector(int size) :
> valarray<double>(size) {}
> >
> > int main()
> > {
> > mvector v(3);
> >
> > v = (v+2.0);
> > }
> >
> > /*****************************/
> >
> > Compiling this code I obtain the following error:
> >
> > geom.cpp: In function `int main()':
> > geom.cpp:38: error: no match for 'operator=' in 'v
> = std::operator+(const
> > std::valarray<_Tp>&, const _Tp&) [with _Tp =
> double]((&1.0e+0))'
> > geom.cpp:22: error: candidates are: mvector&
> mvector::operator=(const
> > mvector&)
> > make: *** [geom.o] Error 1
> >
> > Why can't I use the operator = like I do with
> valarray?
> >
> >
> >
> >
> >
> >
>
____________________________________________________
Start your day with Yahoo! - make it your home page
http://www.yahoo.com/r/hs
[-- Attachment #2: 3181431787-a.cpp --]
[-- Type: text/plain, Size: 463 bytes --]
/****************************/
#include<valarray>
using namespace std;
class mvector : public valarray<double>
{
public:
mvector();
mvector(int size);
mvector& operator=(valarray<double>& arg){
return (mvector&)(this/*maybe not necessary*/->valarray<double>::operator=(arg));
}
};
mvector::mvector() : valarray<double>() {}
mvector::mvector(int size): valarray<double>(size){}
int main()
{
mvector v(3);
v = (mvector&)((valarray<double>&)v + 2.0);
}
next prev parent reply other threads:[~2005-07-31 18:35 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-31 17:49 stefano luceri
2005-07-31 18:23 ` corey taylor
2005-07-31 18:35 ` Nusret BALCI [this message]
2005-07-31 20:04 ` Nusret BALCI
2005-08-01 14:34 ` random
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050731183455.23949.qmail@web41009.mail.yahoo.com \
--to=balcinus@yahoo.com \
--cc=corey.taylor@gmail.com \
--cc=gcc-help@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).