錯誤:Char 26: fatal error: reference to non-static member function must be called

主要原因是我使用了函數指針,而函數指針所指函數須得是靜態才行

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;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章