Мне интересно, могу ли я вызывать статическую функцию-член внутри cpp-файла, например:
А *
class A
{
public:
A(){}
virtual ~A(){}
static void Initialize(){ g_pSomeType = new SomeType();}
private:
static SomeType* g_pSomeType;
};
Acpp
#include "A.h"
SomeType* A::g_pSomeType = nullptr;
A::Initialize(); //here I get an error: "Initialize may not be redeclared outside of it's class"
Возможно ли сделать что-то подобное?Чтобы я мог инициализировать статические члены внутри файла .cpp класса, чтобы пользователи не могли сначала вызывать initialize ()?Я полагаю, я мог бы найти способ обойти эту проблему, но мне любопытно, есть ли способ разрешить эту работу.Спасибо.