OONumerics User : |
From: Mike Marchywka (mmarchywka_at_[hidden])
Date: 2006-03-27 16:57:03
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(libcmain.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