非静态方法访问C ++中的静态变量

时间:2018-09-16 08:17:45

标签: c++ oop

因此,我对C ++ OOP还是相当陌生,并且陷入了这个(琐碎的)问题。 我有一个带有自定义比较器的类定义,如下所示:

class Solution {
public:
    static int pos[30];
    static bool cmp(char c1 ,char c2){
        return pos[c1 - 'a'] < pos[c2 - 'a'];
    }
    string customSortString(string S, string T) {
        for(int i = 0 ; i < S.length() ; i++){
            pos[S[i] - 'a'] = i;
        }
        sort(T.begin() , T.end() , cmp);
        return T;
    }
};

我从编译器中得到了错误

undefined reference to `Solution::pos'

我认为这与在非静态方法pos中访问静态变量customSortString有关,但是用pos替换Solution::pos仍然无济于事。 我在做什么错了?

0 个答案:

没有答案