小编Ide*_*one的帖子

在另一个数组中使用一个数组的大小

// 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)

为什么?

c++ arrays size templates

8
推荐指数
2
解决办法
359
查看次数

标签 统计

arrays ×1

c++ ×1

size ×1

templates ×1