CLion не может найти функцию

Im ieee

Если в CLion 2016.3.2 начать новый проект и изменить файл main.cpp таким образом:

#include <utility>
#include <vector>

int main() {
    int a=0,b=1;
    std::swap(a,b);
    return 0;
}
</vector></utility>

То IDE сообщит об ошибке: о том, что не может найти функцию std::swap с правильной сигнатурой, при этом предлагая варианты из stl_bvector.h, например, inline void swap(_Bit_reference __x, _Bit_reference __y) noexcept. Код при этом, очевидно, компилируется нормально. Если убрать вторую строку, то ошибки не будет.

Как-либо «подавить» эту ошибку тоже не получается, Alt+Enter на строке с ошибкой не работает.

Как всё-таки избавиться от этой ошибки?

1 ответ

Im ieee

Можно попробовать уточнить:

std::swap<int>(a,b)
</int>

Но, если и без уточнения шаблона все компилировалось нормально, может это ошибка самой IDE?

licensed under cc by-sa 3.0 with attribution.