我需要一个常量的常量数组,它的常量(常量常量数组的元素)可以用在只能使用编译时常量的地方,比如数组长度定义。
E.g:
int a[ my_const_array_of_const[0] ];
int b[ my_const_array_of_const[1] ];
template<int p>
foo() { ... };
foo< my_const_array_of_const[2] >();
我已经尝试过其他答案的解决方案,但他们不是&#34;常数&#34;足以让编译器在上述情况下使用它们时不会出错。
如何创建&#34; my_const_array_of_const&#34;在这种情况下不断编译?
我需要它来配置高级综合(HLS)设计。对于HLS C ++语法受到限制。不允许动态内存,因此我需要使用静态数组。此外,所有编译时间常量都可用于优化硬件加速器(这是使用模板参数而不是变量的原因)。