// 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;
}
Run Code Online (Sandbox Code Playgroud)
我听说C++中的数组大小必须是一个常量表达式.所以char q[size(p)]无效,我是对的吗?但是当我尝试时,我没有错误
g++ -Wall sizeofarray.cpp
Run Code Online (Sandbox Code Playgroud)
为什么?