Я использую dtl-cpp , чтобы сравнить разницу двух файлов построчно.
Я настроил этот компаратор:
class LBCompareNSString : public dtl::Compare<NSString *> {
public:
virtual bool impl(const NSString *& A, const NSString *& B) const {
return [A isEqualToString:B];
}
};
У меня естьдва вектора NSString
объектов, как и в случае с пользовательским компаратором:
std::vector<NSString *> linesInACxx;
std::vector<NSString *> linesInBCxx;
И я настроил dtl-cpp следующим образом:
LBCompareNSString comparator;
dtl::Diff< NSString *, std::vector<NSString *>, LBCompareNSString > dtlEngine(linesInACxx, linesInBCxx, comparator);
dtlEngine.compose();
Однако, когда я компилируюполучить эту ошибку в Diff.hpp:
Diff.hpp:506: error: no matching function for call to 'LBCompareNSString::impl(NSString*&, NSString*&)'
LBDifferenceEngine.mm:7: note: candidates are: virtual bool LBCompareNSString::impl(const NSString*&, const NSString*&) const
Я понятия не имею, как объявить метод, чтобы он работал.Я попытался удалить virtual
и const
, но это не сработало.Кто-нибудь знает, что я мог сделать не так?