As you probably noticed C & C++ are different languages.
Is it possible to make it compile when included into C++ code without making the struct type declaration untested?
Yes it is:
#include <stdio.h>
struct foo {
struct bar {
int baz;
} bar;
};
int main() {
struct foo::bar a; // Use foo::bar to refer to the nested struct
a.baz = 2;
printf("%d", a.baz);
return 0;
}