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

360
30 января 2017, 17:59

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

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

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

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

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

Answer 1

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

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

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

READ ALSO
Как выгрузить с .txt в Mysql?

Как выгрузить с .txt в Mysql?

Здравствуйте, столкнулся с такой проблемой:

347
Mysql не работает ограничение целостности check constraint

Mysql не работает ограничение целостности check constraint

Пытаюсь запретить записывать нулевые значения в поле datetime

333
Как работает оператор break с меткой?

Как работает оператор break с меткой?

Вот смотрю пример кода и нашел тут вот такое

290