OONumerics User :

From: Sohail Somani (s.somani_at_[hidden])
Date: 2006-03-27 18:20:40


I believe this is because of the template scope lookup issue which I emailed you privately and someone else has mentioned on this thread.

> -----Original Message-----
> From: oon-list-bounces_at_[hidden]
> [mailto:oon-list-bounces_at_[hidden]] On Behalf Of Hari Sundar
> Sent: Monday, March 27, 2006 2:01 PM
> To: Mike Marchywka
> Cc: oon-list_at_[hidden]
> Subject: Re: [oon-list] Static Polymorphism
>
> I tried it with gcc 4 and 3.4 .. doesn't work with either ...
>
> it does work if I use
>
> this->some_data[k*x*y + j*x + i];
>
> So is this a compiler issue ?
>
> thanks,
> ~Hari
>
> On 3/27/06, Mike Marchywka <mmarchywka_at_[hidden]> wrote:
> >
> >
> > Worked from the cygwin version, at least it tried to link.
> I used to have so many problems
> > with the MS compilers finding stuff I gave up on anything fancy.
> > You can google the terms and find mail lists that discuss
> related issues- I think early
> > on there were lots of problems like this.
> >
> > $ gcc asdf.cpp
> >
> /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../libcygwin.a(lib
> cmain.o):: undefin
> > ed reference to `_WinMain_at_16'
> > collect2: ld returned 1 exit status
> >
> >
> >
> > class A {
> > protected:
> > float * some_data;
> > int x;
> > int y;
> > int z;
> > }
> > ;
> > template <typename T>
> > class B : public A
> > {
> > public:
> > T& asLeaf() { return static_cast<T&>(*this); }
> > inline float SomeFunc(int i, int j, int k) {
> > return asLeaf().SomeFunc(i,j,k);
> > }
> > }
> > ;
> > class C : public B<C>
> > {
> > inline float SomeFunc(int i, int j, int k) {
> > return some_data[k*x*y + j*x + i];
> > }
> > }
> >
> >
> > ;
> >
> >
> >
> >
> **************************************************************
> ***********
> > Mike Marchywka
> > EyeWonder
> > Instant Streaming, Infinite Results
> >
> > 1447 Peachtree Street
> > 9th Floor
> > Atlanta, GA 30309
> >
> > w.678-891-2033
> > c.
> > h.770-565-8101
> > mmarchywka_at_[hidden]
> > alt: marchywka_at_[hidden]
> > Instant Streaming, Intelligent results.
> >
> **************************************************************
> ***********
> >
> >
> >
> >
> >
> > -----Original Message-----
> > From: oon-list-bounces_at_[hidden]
> [mailto:oon-list-bounces_at_[hidden]]On Behalf Of Hari Sundar
> >
> > Sent: MondayMarch-27-2006 02:33 PM
> > To: oon-list_at_[hidden]
> > Subject: Re: [oon-list] Static Polymorphism
> >
> >
> >
> > Sorry to trouble you all again, but it seems that I
> can't get the Barton-Nackman trick to work. I had problems
> originally, so tried a simple test problem .. which worked,
> but my original problem is not working. My inheritance is
> like this,
> >
> > Class A {
> > protected:
> > float * some_data;
> > int x;
> > int y;
> > int z;
> > }
> >
> > template <typename T>
> > Class B : public A
> > {
> > public:
> > T& asLeaf() { return static_cast<T&>(*this); }
> > inline float SomeFunc(int i, int j, int k) {
> > return asLeaf().SomeFunc(i,j,k);
> > }
> > }
> >
> > class C : public B<C>
> > {
> > inline float SomeFunc(int i, int j, int k) {
> > return some_data[k*x*y + j*x + i];
> > }
> > }
> >
> > When I use gcc to compile this .. I get errors of the sort ..
> >
> > error: 'some_data' was not declared in this scope
> > error: 'x' was not declared in this scope
> > error: 'y' was not declared in this scope
> >
> > Any ideas ?
> >
> > thanks,
> > ~Hari
> >
> >
> >
>
>
>
> --
> इयं विसृष्टिर्यतऽआबभूव यदि वा दधे यदि वा न ।
> योऽअयस्याध्यक्षः परमे व्योमन्त्सोऽअङ्ग वेद यदि वा न वेद ।।
>
> Whence all creation had its origin,
> He, whether he fashioned it or whether He did not,
> He, who surveys it all from the highest heaven,
> He knows - or maybe even He does not know.
>
> ~Rg veda
>
> _______________________________________________
> oon-list mailing list
> oon-list_at_[hidden]
> http://www.oonumerics.org/mailman/listinfo.cgi/oon-list
>