Использование размера одного массива в другом массиве

// sizeofarray.cpp
#include <iostream>
template <typename T,int N>
int size(T (&Array)[N])
{
  return N;
}

int main()
{
   char p[]="Je suis trop bon, et vous?";
   char q[size(p)]; // (A)
   return 0;
}

Я слышал, что размер массива в C ++ должен быть постоянным выражением. Итак, char q [size (p)] недействителен, я прав? Но у меня не было ошибок при попытке

 g++ -Wall sizeofarray.cpp

Почему?

8
задан Prasoon Saurav 30 September 2010 в 15:32
поделиться