【发布时间】:2010-06-15 15:15:43
【问题描述】:
我有一个简单的函数Bar,它使用数据集中的一组值,这些值以数据结构数组的形式传入。数据可以来自两个来源:一个常量初始化的默认值数组,或者一个动态更新的缓存。
调用函数确定使用哪些数据并应传递给Bar。
Bar 不需要编辑任何数据,实际上不应该这样做。我应该如何声明Bar 的数据参数,以便我可以提供任一集合中的数据?
union Foo
{
long _long;
int _int;
}
static const Foo DEFAULTS[8] = {1,10,100,1000,10000,100000,1000000,10000000};
static Foo Cache[8] = {0};
void Bar(Foo* dataSet, int len);//example function prototype
注意,这是 C,而不是 C++,如果有区别的话;
编辑
哦,还有一件事。当我使用示例原型时,我收到类型限定符不匹配警告,(因为我将可变引用传递给 const 数组?)。为此我需要改变什么?
【问题讨论】:
-
+1,只是因为我很高兴仍有一些人不标记他们的问题
C/C++并在两者之间有所作为:D
标签: c pointers arrays constants immutability