B
Bram Kuijper
Okay, second try (since my posting on 4/27), to find a proper way to
initialize a static reference member to an object.
I try to initialize a static reference inside the class ga, referencing
to an instance of the class bla. According to a previous posting of
Zeppe on 4/27...
Doing that, this is my code:
class bla
{
public:
bla();
~bla();
};
class ga
{
public:
static bla& ref;
ga();
~ga();
};
static bla v();
ga::ref = v;
int main()
{
ga();
return 0;
}
however, this still does not lead to any proper code, since the compiler
now complains by doing this:
test.cpp:23: error: expected constructor, destructor, or type conversion
before ‘=’ token
test.cpp:21: warning: ‘bla v()’ declared ‘static’ but never defined
what is the problem?
a. why can't I just declare bla v() as a static variable?
b. what is then the proper way of initializing ga::ref?
c. references such as the C++ annotations
(http://www.icce.rug.nl/documents/cplusplus/) or even stroustrup's book
are not that verbose on the topic of static reference members. Anyone
can point me towards some documentation on this matter?
thanks in advance,
Bram
initialize a static reference member to an object.
I try to initialize a static reference inside the class ga, referencing
to an instance of the class bla. According to a previous posting of
Zeppe on 4/27...
>
> you should initialize ga::ref outside of any function, like
>
> bla& ga::ref = v;
>
> but v should be a static variable istantiated before in the same
> transactional unit, or the result of a function.
Doing that, this is my code:
class bla
{
public:
bla();
~bla();
};
class ga
{
public:
static bla& ref;
ga();
~ga();
};
static bla v();
ga::ref = v;
int main()
{
ga();
return 0;
}
however, this still does not lead to any proper code, since the compiler
now complains by doing this:
test.cpp:23: error: expected constructor, destructor, or type conversion
before ‘=’ token
test.cpp:21: warning: ‘bla v()’ declared ‘static’ but never defined
what is the problem?
a. why can't I just declare bla v() as a static variable?
b. what is then the proper way of initializing ga::ref?
c. references such as the C++ annotations
(http://www.icce.rug.nl/documents/cplusplus/) or even stroustrup's book
are not that verbose on the topic of static reference members. Anyone
can point me towards some documentation on this matter?
thanks in advance,
Bram