Если в 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 на строке с ошибкой не работает.
Как всё-таки избавиться от этой ошибки?
Можно попробовать уточнить:
std::swap<int>(a,b)
Но, если и без уточнения шаблона все компилировалось нормально, может это ошибка самой IDE?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Пытаюсь запретить записывать нулевые значения в поле datetime