*我正在用c ++实现Eratosthenes算法的筛选。我决定使用函数进行计数和查找素数,然后在主函数中返回/显示它们。但是,当我返回一个int数组时,我的GNU编译器会发出警告并停止编译。我尝试将变量类型更改为int *和其他类型,但它们似乎不起作用。*
这只是示例代码,实际代码非常相似,并显示相同的错误。
int *array;
int *function()
{
int lim = 100;
for(int i=0 ; i<lim+2 ; i++)
array[i] = i;
return array;
}
int main()
{
int *MainArray;
MainArray = function();
for(int i=0 ; i<102 ; i++)
std::cout << MainArray[i];
}
我希望它返回完整的数组,以便我可以通过main函数显示/传递它。编译成功完成,但是输出二进制文件存在分段错误。*