我在一个名为 bitarray.h 的头文件中有一个类和一个相应的 bitarray.cpp,我也有一个 sieve.h。sieve.h 和 bitarray.cpp #includes bitarray.h 和 sieve.h 只有一个函数 void Sieve(BitArray a)。我想从 Sieve 函数调用在 bitarray.h 中声明并在 bitarray.cpp 中定义的 Set() 和 Unset() ,但它不会让我这样做。我该如何解决。
//sieve.h
#include "bitarray.h"
#include <cmath>
using namespace std;
void Sieve(BitArray a)
{
//initialize all to 1
for (int i = 0; i < (a.arraySize*a.unsChar*8); i++)
{
a.Set(i);
}
//unset 0 and 1 becasue they are never prime
a.Unset(0);
a.Unset(1);
//leave 2 as a 1
/*for (int i = 2; i < (a.arraySize*a.unsChar*8); i++)
a.Unset(2*i);*/
}