Re: Stroustrup 5.9, exercise 1
 
On Mar 30, 7:42 pm, "Alf P. Steinbach" <a...@start.no> wrote:
* arnuld:
 // a reference to an array of 10 integers
  char& r_arr_int = arr_int;
What you have above is a reference to char, initialized with an array of
integers.
Apples on one side, oranges on the other side.
This is a reference to an array:
   int (&r_arr_int)[10] = arr_int;
it does not compile:
---------- PROGRAMME -------------
/* Stroustrup, 5.9, exercises
to write declarations with initializers.
comments explain what we intend to do.
*/
#include<iostream>
int main()
{
  // a pointer to a character
  char c1 = 'a';
  char* pc1 = &c1;
  // an array of 10 integers
  const int arr_size = 10;
  char arr_int[arr_size];
  // a reference to an array of 10 integers
  int (&r_arr_int)[arr_size] = arr_int;
  // a pointer to an array of character strings
  /* SORRY but i do not know how to present an array
   of character strings */
  // a pointer to a pointer to a char
  char c;
  char* pc = &c;
  char* ppc = pc;
  // a constant integer
  const int ci = 7;
  // a pointer to a constant integer
  const int* pci = &ci;
  // a constant pointer to an integer
  int j = 8;
  int *const cpi = &j;
  return 0;
}
-------- OUTPUT ----------
[arch@voodo tc++pl]$ g++ 5.9_ex-01.cpp
5.9_ex-01.cpp: In function 'int main()':
5.9_ex-01.cpp:24: error: invalid initialization of reference of type
'int (&)[10]' from expression of type 'char [10]'
[arch@voodo tc++pl]$