Move the
enum
definition above the class definition in the header file or add a forward declaration:
namespace XNameSpace{
enum UserId;
class ClassName
{
public:
UserId GetId();
};
enum UserId
{
KTUniversal = -1,
};
}
Your
enum
is treated like a class: It must be declared before first used. The only exception is when it is part (member) of a class. Then it might be defined after being used by other members:
class ClassName
{
public:
ClassNameUserId GetId();
enum ClassNameUserId
{
KTUniversal = -1,
};
};