The following code example is taken from the book
C++17 - The Complete Guide by Nicolai M. Josuttis, Leanpub, 2017
The code is licensed under a Creative Commons Attribution 4.0 International License. Creative Commons License

// raw code

struct Derived;

struct Base {
friend struct Derived;
  Base() {

struct Derived : Base {

int main()
  Derived d1{};    // ERROR since C++17
  Derived d2;      // still OK (but might not initialize)