Ошибка clang++: неопределенная ссылка на оператор `==` красно-черных деревьев вC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Ошибка clang++: неопределенная ссылка на оператор `==` красно-черных деревьев в

Сообщение Anonymous »

Я работаю над проектом C++, концентрируясь на модулях (это означает, что я, очевидно, использую стандарт C++20).
У меня есть std::set mySet< /code>, который я перебираю следующим образом:

Код: Выделить всё

class Fred {
public:
void foo() {
for (const auto& [x, y] : mySet) {
bar(x, y);
}
}
};
Все файлы .o, .pcm и .pch компилируются правильно, но когда дело доходит до связывания объектных файлов, возникает ошибка:

Код: Выделить всё

/usr/bin/ld: file.o: in function `file::Fred@file::foo() const':
file.pcm:(.text+0xfbc): undefined reference to `std::operator==(std::_Rb_tree_const_iterator const&, std::_Rb_tree_const_iterator const&)'
/usr/bin/ld: file.pcm:(.text+0x108f): undefined reference to `std::operator==(std::_Rb_tree_const_iterator const&, std::_Rb_tree_const_iterator const&)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
На мой взгляд, оператор == не определен для красно-черных деревьев парных итераторов.
Я попробовал использовать свой собственный оператор == для этого набора, но он не сработал. Также не удалось импортировать все возможно необходимые модули.

Подробнее здесь: https://stackoverflow.com/questions/793 ... perator-in
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»