困っています!find()
私の目標は、入力番号を素数のリストと照合して、関数を介して(リスト内の)素数であるかどうかを確認することです。私はまだそこまで到達していません。これは宿題なので、関数演算子をオーバーロードして、このばかげた(imho)方法で実行する必要があります。これが私がこれまでに持っているものです:
using namespace std;
class isprime {
public: isprime() { /*nothing...yet?*/
}
bool operator()(int);
list <int> pnums(1, 2);
private: int expandList(int number);
};
bool isprime::operator()(int number) {
if (pnums.back() < number) {}
}
int isprime::expandList(int number) {
for (int j = pnums.back(); j = number; j++) {
for (int i = 2; i < sqrt(j); i++) {
if (j % i != 0) pnums.push_back(j);
}
}
}
int main() {
isprime pcheck;
int number;
while (cin >> number) {
if (pcheck(number)) cout << number << " is prime!\n";
}
}
これが私のエラーです:
prime2.cpp:12:エラー:数値定数の前に識別子が
必要ですprime2.cpp:12:エラー:数値定数の前に「、」または「...」が必要です
prime2.cpp:メンバー関数内'bool isprime :: operator()( int)':
prime2.cpp:19:エラー:'((isprime *)this)-> isprime :: pnums'にはクラスタイプprime2.cppがありません
:メンバー関数'int isprime :: ExpandList(int)':
prime2.cpp:23:エラー:'((isprime *)this)-> isprime :: pnums'にはクラスタイプがありません
prime2.cpp:25:エラー:'((isprime *)this)-> isprime :: pnums 'クラスタイプはありません
何が悪いのかわかりません。誰か助けてもらえますか?