В чем проблема при отладке std::move(v)?
Добрый день Работаю в vscode. поставил последний компилятор mingw-w64 x86_64-ucrt-posix-seh, BrectSandler r5) 13.2.0. Сгенерировал c_cpp_properties.json в котором указал:
- Компилятор: ../mingw/mingw64/bin/g++.exe
- IntellisenceMode: windows-gcc64-x64
- Include path: ${workspaceFolder}/**
- Standart C++17.
Далее записал код:
#include <iostream>
#include <utility>
class X
{
public:
X() {};
};
void g(X& val)
{
std::cout << "g(X& val)\n";
}
void g(X const& val)
{
std::cout << "g(Xconst& val)\n";
}
void g(X&& val)
{
std::cout << "g(X&&)\n";
}
void f(X& val)
{
std::cout << "f(X& val)" << std::endl;
g(val);
};
void f(X const& val)
{
std::cout << "f(Xconst& val)" << std::endl;
g(val);
};
void f(X&& val)
{
std::cout << "f(X&& val)" << std::endl;
}
int main()
{
X v;
X const c;
f(v);
f(c);
f(std::move(v));
/*
f(X());
*/
return 0;
}
Компилирует без проблем, но при попытке начать отладку, уже в самом конце выдает
НО если закоментирую строку
f(std::move(v));
Все отлаживает отлично! В каком направлении рыть?