所以当我创建一个对象时,我会使用类似的东西:
Object objectName = new Object();
Run Code Online (Sandbox Code Playgroud)
我得到一个对象,我可以在调用像这样的方法时将其称为objectName
objectName.method(parameter);
Run Code Online (Sandbox Code Playgroud)
但是如何创建它以便我可以使用字符串中的名称创建一个可以引用的对象,例如:
string objectName = "myName";
Object [objectName] = new Object();
Run Code Online (Sandbox Code Playgroud)
然后参考它:
myName.method(parameter);
Run Code Online (Sandbox Code Playgroud)
因此,以某种方式将字符串objectName插入到新对象的实际名称中.我该怎么做?
我查看了所有其他类似主题的帖子,没有任何帮助,所以请不要标记为重复.
我正在定义main()
一个const int SIZE = 20;
.然后,我将此作为参数传递给我的函数Mode:
int* Mode(int* numbers, int & mode, const int SIZE)
{
int occurences[SIZE];
// Calcualte mode
}
Run Code Online (Sandbox Code Playgroud)
但是,我得到了错误expression must have a constant value
.
我的函数调用(在main中)看起来像这样:
int* occurencesPtr = Mode(numbersPtr, mode, SIZE);
Run Code Online (Sandbox Code Playgroud)
有了SIZE
开头的文字被定义20
.
我理解错误是因为函数的版本SIZE
仅在调用函数时获取其值(?),但我不知道如何解决这个问题.
我甚至尝试过传递给函数a const int * const SIZEPtr = &SIZE
,但这也没有用.救命?
编辑:我不是想使用可变大小!! 请注意,我做了SIZE
一个const
无处不在!我只想使用相同的SIZE常量来声明我的数组.
编辑:动态数组不是我需要的.我只想要一个普通的,命名的数组,用传递给函数的常量大小值定义.