FYI, I can reproduce the same errors with this short C++ file:
struct A { const struct A* const next; };
static const struct A a[1];
static const struct A b[1];
static const struct A a[1] = { {b} };
static const struct A b[1] = { {0} };
D:\temp>cl /c test.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 17.00.51106.1 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
test.cpp
test.cpp(2) : error C2512: 'A' : no appropriate default constructor
available
test.cpp(3) : error C2512: 'A' : no appropriate default constructor
available
test.cpp(4) : error C2374: 'a' : redefinition; multiple initialization
test.cpp(2) : see declaration of 'a'
test.cpp(5) : error C2374: 'b' : redefinition; multiple initialization
test.cpp(3) : see declaration of 'b'