Как использовать построенный объект в качестве параметра в C ++ 20?C++

Программы на C++. Форум разработчиков
Anonymous
Как использовать построенный объект в качестве параметра в C ++ 20?

Сообщение Anonymous »

Я только что переключил свою версию C ++ на C ++ 20 в Visual Studio и получил ошибки на расстоянии.class Foo {
int value;
public:
Foo(int v) : value(v) {}
};

// A function that does something with a Foo
void bar(Foo& f)
{
// ...whatever
}

// This gives an error in C++20 but not in C++17
// The message is something like "cannot convert from Foo to T&"
bar(Foo(3));
< /code>
Какова причина? Есть ли улов для исправления этого кода? Есть сотни из них.

Подробнее здесь: https://stackoverflow.com/questions/795 ... ter-in-c20

Вернуться в «C++»