主要原因是我使用了函數指針,而函數指針所指函數須得是靜態才行
class Solution {
public:
vector<int> exchange(vector<int>& nums) {
return ReOrder(nums,iseven);
}
vector<int> ReOrder(vector<int>& nums,bool (*func)(int)) {
......
}
bool iseven(int n){//這裏有誤,應改成static
return (n&0x1)==0;
}
};
添加static,完美解決:
class Solution {
public:
vector<int> exchange(vector<int>& nums) {
return ReOrder(nums,iseven);
}
vector<int> ReOrder(vector<int>& nums,bool (*func)(int)) {
......
}
static bool iseven(int n){
return (n&0x1)==0;
}
};