我的程序的输出是一个数组,该数组的大小基于用户输入。 但是为了设置数组的大小,我需要常量。如何根据用户设置的初始变量设置一组常量值
因此,一种解决方案是用户在编译/运行之前设置常量。
const int test1 = 10;
const int test2 = 20;
std::string TestArray[test1][test2];
然而除了2个常数阵列有几个更多的常量需要被设定成理想地,用户将只设置1个变量,然后将常数将根据设置上,使用像开关一样所以:
const int number = 2;
int test1a;
int test2a;
switch (number)
{
case 1:
test1a = 10;
test2a = 10;
test3a = 123;
break;
case 2:
test1a = 20;
test2a = 20;
test3a = 456;
break;
}
const int test1 = test1a;
const int test2 = test2a;
std::string TestArray[test1][test2];
test2 = 50;
但是,这给出了test1和test2在设置数组时“必须有一个常量值”的错误。但是在尝试设置test2 = 50后的行会给出错误“表达式必须是可修改的Ivalue”
正在设置的数据是建筑信息。 所以第1组将与X层,Y的人,等 2组平均酒店 第3组平均住宅楼的平均写字楼 等
您可以使用ternar操作:const int的TEST1 =((数== 1)10:20); –
而不是“数字== 1”我可以有“数字==变量”?然后我可以设置一个变量来设置多个常量。 –
如果变量是const,它应该没问题 –