【发布时间】:2017-08-21 19:32:23
【问题描述】:
我想声明 32 个名称为 efficiency_module_cmp_%d_x 的一维数组,%d 从 1 变为 16,efficiency_module_cmp_%d_y,%d 从 1 变为 16。 我正在使用以下代码来执行此操作,但这不起作用。这有什么问题:
char array_name[100];
char array_name1[100];
for ( int i=0; i<16;i++)
{
sprintf(array_name,"efficiency_module_cmp_%d_x",i+1);
float array_name[n] ;
sprintf(array_name1,"efficiency_module_cmp_%d_y",i+1);
float array_name1[n] ;
}
提出可能的解决方案。
【问题讨论】:
-
您不能在 C 或 C++ 的运行时创建类型或对象的名称。为什么你认为你需要这样做?
-
他可以在宏中
-
@Flip 不在运行时。
-
std::map可能是一种解决方案。 -
听起来你想要多维数组,或者更好的向量或映射。
标签: c++ arrays for-loop floating-point char