我必须使用什么C数据类型?

时间:2014-04-13 13:31:23

标签: c++ arrays

我必须在头部调用一个类似

的外部函数
void asd(unsigned int *&name)

我的问题是现在什么类型的变量是名字?我知道它应该作为一个数组运行,但我有点困惑,因为传递一个简单的unsigned-int-array不起作用。

编辑:

由于你的帮助,我尝试了:

unsigned int* name[];
asd(feld);

这给了我一个错误,例如"名称的存储大小是不知道的"但是当我写作

unsigned int* name[10];
asd(feld);

我得到"无符号int&类型的非const引用的初始化无效。来自int"的临时类型。现在我真的很困惑。

1 个答案:

答案 0 :(得分:3)

name是对指向unsigned int的指针的引用,因此它将接受unsigned int*左值。例如,

unsigned int* p = nullptr;
asd(p);

通过引用传递的事实意味着函数asd可以更改传递给它的指针的值,并且调用者可以看到此更改。