このコードについて何が間違っていますか?C++ベクトルソート奇数および偶数ステイ
error: reference to non-static member function must be called
とコードがある:
public:
std::vector<int> sortArray(std::vector<int> array)
{
std::vector<int> sortedArray(array);
std::sort (sortedArray.begin() , sortedArray.end() , oddSort);
}
bool oddSort (const int& left , const int& right){
if (left % 2 && right % 2)
return left < right;
else if (left % 2)
return false;
else if (right % 2)
return true;
return left < right;
}
'bool oddSort(const int&left、const int&right)'は静的メンバー関数または名前空間スコープまたはグローバル関数でなければなりません – Danh
メンバ関数をメンバ関数として宣言したいのですが、メンバデータを使わないのですか? – Danh
私は、静的にしても、これがあなたが望むことをすることを心から疑う。 1つは、あなたの 'sortArray'関数から何も返さないことです。別の場合、私はあなたのコンパレータでのあなたの前提が、あなたが思っているような要素の動きを妨げるとは思わない。あなたのコンパレータを正しく読み取れば、すべての偶数要素が配列の先頭に積み重ねられます。最後はオッズです。 – WhozCraig