 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Gary Wessle Guest
|
Posted: Mon Aug 14, 2006 9:10 am Post subject: static members and variables |
|
|
Hi
I am calling a class method on many objects of that class
alternately. the class needs to make available "remember" values of
variables of said method for each object separetly when the object
calls the method again.
I can't make those variables static inside the method because it will
hold its value for all objects without discrimination.
I can't make those variables object attributes because will be erased
when the object goes out of scope at the closing bracket of the
alternating mechanize "for loop".
class mytype
{
static int unique;
public:
mytype():unique = 0 {}
void dothis(){
unique++; <<-- error line
....
};
undefined reference to `mytype::unique'
how is this fixed?
thanks |
|
| Back to top |
|
 |
Rolf Magnus Guest
|
Posted: Mon Aug 14, 2006 9:10 am Post subject: Re: static members and variables |
|
|
Gary Wessle wrote:
| Quote: | Hi
I am calling a class method on many objects of that class
alternately. the class needs to make available "remember" values of
variables of said method for each object separetly when the object
calls the method again.
I can't make those variables static inside the method because it will
hold its value for all objects without discrimination.
I can't make those variables object attributes because will be erased
when the object goes out of scope at the closing bracket of the
alternating mechanize "for loop".
class mytype
{
static int unique;
public:
mytype():unique = 0 {}
void dothis(){
unique++; <<-- error line
...
};
undefined reference to `mytype::unique'
how is this fixed?
|
By defining 'unique'. As it stands above, the variable is only declared, but
there is no actual storage reserved for it. Add:
int mytype::unique;
somewhere in the implementation file. |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|