Returning or accessing a static variable inside a static function throws an error in Visual Studio:
// H File
class LayoutManager : public QObject
{
    static int Access_Data();
    static int data;
};
// CPP
static int data= 0; // Global scope
int LayoutManager::Access_Data()
{
    data= data+ 1;
    return data;
}
Error: Error    LNK2001 unresolved external symbol "public: static int LayoutManager::data" (?mm@LayoutManager@@2HA)
After changing to int LayoutManager::data = 0 in C++, the error is gone, but while assigning a new value to data in another class, it throws a new error:
void MyLayout::Update( void )
{
    LayoutManager::data = 1;  // error here
 
     
    