こんにちは私はソート前にストアインデックスにこのコードを使用しますが、この行にコンパイルすると::
[&](size_t a, size_t b){ return values[a] < values[b]; }
、私にエラーを言います:
Multiple markers at this line
- expected primary-expression before
'[' token
- expected primary-expression before
']' token
- expected primary-expression before
'a'
- expected primary-expression before
'b'
template <typename T>
std::vector<size_t> ordered(std::vector<T> const& values) {
std::vector<size_t> indices(values.size());
std::iota(indices.begin(), indices.end(), static_cast<size_t>(0));
std::sort(
indices.begin(), indices.end(),
[&](size_t a, size_t b){ return values[a] < values[b]; }
);
return indices;
}
そして2番目の質問は、古典的な入力1D配列がある場合、この呼び出しをどのように行うことができますか