我必须在头部调用一个类似
的外部函数void asd(unsigned int *&name)
我的问题是现在什么类型的变量是名字?我知道它应该作为一个数组运行,但我有点困惑,因为传递一个简单的unsigned-int-array不起作用。
编辑:
由于你的帮助,我尝试了:
unsigned int* name[];
asd(feld);
这给了我一个错误,例如"名称的存储大小是不知道的"但是当我写作
unsigned int* name[10];
asd(feld);
我得到"无符号int&类型的非const引用的初始化无效。来自int"的临时类型。现在我真的很困惑。
答案 0 :(得分:3)
name
是对指向unsigned int
的指针的引用,因此它将接受unsigned int*
左值。例如,
unsigned int* p = nullptr;
asd(p);
通过引用传递的事实意味着函数asd
可以更改传递给它的指针的值,并且调用者可以看到此更改。