Category "c++"

Use of incomplete types in templates

Is it legal to use an incomplete type in a template if the type is complete when the template is instantiated? As below #include <iostream> struct bar;

How to iterate an unordered_set from the end to the begin

I want to iterate an unordered_set from the end to the begin: unordered_set<Expression*> BlocExpressions; for(auto it=BlocExpressions.end(); it != BlocEx