无法插入到std :: list中?

-1 c++ std

我正在尝试将值插入到void中调用的std :: list中.void将在从另一个函数调用时将值插入到列表中,但是当我尝试使用.push_back,.Insert或.Add将值插入到列表中时,我收到以下错误:我收到以下错误

这是我的代码:

void pb(std::list<unsigned long long int> primeFactorisation(unsigned long long int), int n)
{
    for (int i=n; i<n; i++)
    {
        primeFactorisation.push_back(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

我不明白我做错了什么,这是一个标准清单?

Nat*_*ica 6

void pb(std::list<unsigned long long int> primeFactorisation(unsigned long long int), int n)
Run Code Online (Sandbox Code Playgroud)

你的第一个参数

std::list<unsigned long long int> primeFactorisation(unsigned long long int)
Run Code Online (Sandbox Code Playgroud)

声明一个函数,而不是std::list参数.你需要

void pb(std::list<unsigned long long int>& primeFactorisation, int n)
Run Code Online (Sandbox Code Playgroud)

为了pb正常工作(请注意,primeFactorisation需要通过引用传递它来修改从调用站点传递的列表).


你的for循环也有问题.

for (int i=n; i<n; i++)
Run Code Online (Sandbox Code Playgroud)

将永远不会像i == n在第一个循环中那样运行,所以i < nfalse在你开始之前运行.