我正在尝试将值插入到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)
我不明白我做错了什么,这是一个标准清单?
在
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 < n
将false
在你开始之前运行.