这可能是一个非常简单的问题,但出于某种原因,我不明白我在这里做错了什么。
无论如何,我得到了一个接受function(size_type m, size_type n)
的函数,我必须构建一个数组,该数组由名为int *value
的类中的私有变量指向。我正在尝试创建一个mxn
大小的整数数组,但是我很难改变m和n的类型。
我试过了:
*value = int[(int)m*(int)n];
以及使用(unsigned int)
可以有人请求帮助。
编辑:size_type未在规范中声明为任何类型
答案 0 :(得分:6)
您可以考虑:
value = new int[m*n];
因为您需要创建动态数组。您需要在正确的时间记住delete []
这个。
您可能会发现使用std::vector
更容易,因为内存管理是为您处理的。
答案 1 :(得分:0)
这个怎么样?
typedef int size_type; //could also be this or that other type...
void myFunction(size_type m, size_type n)
{
int array[(int) m * (int) n ];
int *value = array;
};
int main()
{
myFunction(2, 2);
return 0;
}
或者您在功能之外需要value
吗?您希望该函数返回value
吗?