我有一个带有四个键的枚举我正在作为接口程序的输入,我想通过值将枚举传递给接口函数,这已经变得很长.枚举是这样的:
enum MYKEYS {
W, S, O, L
};
Run Code Online (Sandbox Code Playgroud)
还有一个布尔数组,我必须通过引用传递,这也有点棘手.
bool key[4] = { false, false, false, false };
Run Code Online (Sandbox Code Playgroud)
有没有人知道在函数中将这两个作为引用传递的正确语法,类似于:
function(int & anintreference);
Run Code Online (Sandbox Code Playgroud)
您无法将enum自身作为函数的参数传递!在enum定义了新的类型,并且可以创建这种类型的,即可以采用由所定义的值中的一个的变量enum:
MYKEYS k = W;
Run Code Online (Sandbox Code Playgroud)
只有这样你才能通过k引用来传递一些函数:
function foo(MYKEYS& k_);
Run Code Online (Sandbox Code Playgroud)
关于你的第二个问题,因为你应该把数组看作指向一系列的指针bool:
function bar(bool* key, int length);
Run Code Online (Sandbox Code Playgroud)