В чем проблема при отладке 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));

Все отлаживает отлично! В каком направлении рыть?


Ответы (0 шт):