static member variable

  • Thread starter Carlos Martinez Garcia
  • Start date
C

Carlos Martinez Garcia

Hi Ekim:

You have declare a static member variable and use it,
but you haven't defined it.

In your source put the definition after #include "myclass.h"
int CMyClass::test=0; //for example

Ekim escribió:
 
I

Iakov Nakhimovski

myclass.cpp should contain a line:

int CMyClass::test = 5; // initial value for the static variable must be set
separately

It's ok to use the variable in the constructor (or any method) if you need
this.

Make sure you understand the difference between link & compile time errors
for the future.

HTH, Iakov
 
E

Ekim

given the following code:

myclass.h:
-------------------------------

class CMyClass
{
public:
CMyClass();
private:
static int test;
}
--------------------------------


myclass.cpp:
-------------------------------

#include "myclass.h"

CMyClass::CMyClass
{
CMyClass::test = 5; // error: unresolved external symbol
}
--------------------------------


I want to make a private member variable of static kind. What did I make
wrong? I always get the error message "unresolved external symbol".
I've already tried to access it via "this->test" but this doesn't work
either. Is it not allowed to access the static variable outside the same
file? What do I have to do in order to be able to access it from within my
member-functions?

any help is appreciated,
ekim
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,056
Latest member
GlycogenSupporthealth

Latest Threads

Top