因此,我对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
仍然无济于事。
我在做什么错了?