从函数返回std :: list

时间:2017-10-09 16:42:41

标签: c++ list prime-factoring

我已经获得了一个用于构建以下函数模板“list primeFactors(unsigned long int n)”的赋值。该函数返回自然数的素数因子分解的整数列表。我已经创建了一个可以推算因子分​​解的程序但是我在使用列表时遇到了问题。

{{1}}

我的程序不再返回正确的分解数,我不确定问题是什么。

感谢任何帮助

3 个答案:

答案 0 :(得分:2)

这可能与返回列表无关。问题是你总是在完成迭代之前返回它:

for (unsigned long int i=2; i <=n; i++)
{
    while(n % i == 0)
    {
        n /= i;
        //cout << i << " ";
        list.push_back(i);
    }
    return list; // I think you meant to put this outside the for loop
}
// Probably here is better for the return.

下次尝试使用调试器时,您会更快地看到此问题,然后在此处发布。

答案 1 :(得分:0)

只需返回for循环外的列表

答案 2 :(得分:0)

return list;为时尚早。将它移到大括号之外。