所以,我有这个数组。它需要在此功能范围之外访问。我一直在把一个指向它的指针变成一对,这个指针变成了一个deque。但是一旦我超出范围,本地堆栈消失,数组无效,并且我刚刚得到一个无用的指针,对吧?范围,数组和堆
所以我试图把这个数组放到超范围的堆上,它会一直存在,直到我稍后再删除它。但我有问题得到这个工作。现在g ++正在咳嗽关于无效转换从'int'到'int *'的错误。
void randomFunction(int x, int y, int width, int height)
{
int **blah[4] = {x, y, width, height};
std::pair <foobar*, int* > tempPair (foobar1, blah);
randomDeque.push_front(tempPair);
}
我也试过初始化这样的:
int *blah[4] = new int[4];
...它说,该阵列必须以括号内的初始化进行初始化。
我真的不习惯使用指针。我究竟做错了什么?
您突出显示代码,然后按ctrl-k或*代码示例*按钮进行格式化。 – 2009-07-10 06:49:25