我写了一段代码,它创建了一个线程并将参数作为引用发送给该线程,但是在函数名下面出现了红色的下划线,就好像我不能调用它一样。有人知道我的代码出了什么问题吗?
我的代码:
#include "getPrimes.h"
void getPrimes(const int& begin, const int& end, std::vector<int>& primes)
{
int i = 0, j = 0;
for (i = begin; i <= end; i++)
{
if (i > 1)
{
for (j = 2; j <= i / 2; j++)
{
if (i % j != 0)
{
primes.push_back(i);
}
}
}
}
}
std::vector<int> getPrimes(const int& begin, const int& end)
{
std::vector<int> vector;
std::thread thread(getPrimes, std::ref(begin), std::ref(end), std::ref(vector)); // I get the red underline here
}
我收到的错误