template<typename T> struct Outer { struct Inner; auto f(Inner) -> void; }; template<class T> auto Outer<T>::f(Inner) -> void { } int main() {}
Standard input is empty
prog.cpp:11:23: error: variable has incomplete type 'Outer::Inner' auto Outer<T>::f(Inner) -> void ^ prog.cpp:5:12: note: forward declaration of 'Outer::Inner' struct Inner; ^ 1 error generated.
Standard output is empty