Here is a list of function declarations, some variables and assignments. Which of them
are not permitted and why?

Code:
int foo ( const int &) {
  return 0;
}

int bar ( int &) {
  return 0;
}

int main () {
  int i = 0;
  int & j = i ;
  static const int f = i ;
  int * const p = 0;
  p = & i ;
  * p = f ;
  const
...