C++ (error: passing ‘const …'’ as ‘this’ argument of ‘…’ discards qualifiers [duplicate])
1175 ワード
Ubuntuの下でGCCコンパイルcaffeをコンパイルして、errorが現れます
c++/4.8/bits/stl_algo.h:2245:19: error: passing const yolo_v2::DATA as this argument of bool yolo_v2::DATA::operator while (__pivot < *__last)
非変数を渡すタイプが一致しないとエラーになる
作成者コード:
STLのソースコードにナビゲート:
ソリューション:(リンク:https://stackoverflow.com/questions/19073996/error-passing-const-as-this-argument-of-discards-qualifiers)
c++/4.8/bits/stl_algo.h:2245:19: error: passing const yolo_v2::DATA as this argument of bool yolo_v2::DATA::operator while (__pivot < *__last)
非変数を渡すタイプが一致しないとエラーになる
作成者コード:
bool operatorconfidence > data.confidence;
}
STLのソースコードにナビゲート:
/// This is a helper function...
template
_RandomAccessIterator
__unguarded_partition(_RandomAccessIterator __first,
_RandomAccessIterator __last, const _Tp& __pivot)
{
while (true)
{
while (*__first < __pivot)
++__first;
--__last;
while (__pivot < *__last)
--__last;
if (!(__first < __last))
return __first;
std::iter_swap(__first, __last);
++__first;
}
}
ソリューション:(リンク:https://stackoverflow.com/questions/19073996/error-passing-const-as-this-argument-of-discards-qualifiers)
bool operatorconst DATA& data) const
{
return this->confidence > data.confidence;
}