I can't get past this issue I am having. Here's a simple example:
class x
{
public:
void function(void);
private:
static void function2(void);
};
void x::function(void)
{
x::function2(void);
}
static void function2(void)
{
//something
}
I get errors in which complain about function2 being private. If I make it public (which I don't really want to do) I get errors about an undefined reference to function2. What am I doing wrong? Thank you!
You can't have a function declaration and definition both in a class. Either move the definitions out of the class or remove the declarations.
You can't call a function with a void as a parameter. That is used only in the declaration.
The function definition for function2 if outside the class will need a x:: qualifier and static is not needed the second time.
class x
{
public:
void function(void);
private:
static void function2(void);
};
void x::function(void)
{
x::function2();
}
void x::function2(void)
{
}