Hi all,
as a C++ newbie, I got some question on the initialization of static
reference data members.
Since it isn't possible to initialize static members of a class in the
constructor, I should initialize them in advance. However, the following
code, in which I first produce two classses and then try to assign a
reference of the first class to a static data member of the second class
doesn't work. It gives the following compiler error:
error: no match for ‘operator=’ in ‘ga::ref = v’
note: candidates are: bla& bla::operator=(const bla&)
Since I don't wanna go into operator overloading for something this
simple, how should I properly initialize a static member referencing to
an object?
cheers,
Bram
here is my code:
class bla
{
public:
bla();
~bla();
};
class ga
{
public:
static bla &ref;
ga();
~ga();
};
int main()
{
bla v();
ga::ref = v;
return 0;
}