Comment forcer la copie d'une classe?
	
	
		Bonjour,
je cherche à forcer la copie d'une instance sur un retour de fonction, mais je n'y arrive pas !
Je sais que ça n'a pas vraiment de sens, mais c'est juste parce que je voudrais tester un truc.
Prenons le code suivant:
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 
 | class Foo
{
public:
	Foo(int num = 10) : m_num(num) {}
 
	Foo(const Foo& other) : m_num(other.m_num) {}
	Foo(const Foo&& other) = delete;
 
	Foo& operator = (const Foo& other) = delete;
	Foo& operator = (const Foo&& other) = delete;
 
	int m_num = 5;
};
 
Foo f(const Foo& foo1) 
{
	return Foo(foo1.m_num + 1);
}
 
int main()
{
	Foo foo1;
	Foo foo2 = f(foo1);
} | 
 Ça ne compile pas : il veut absolument son move ctor !
	Code:
	
Error	C2280	'Foo::Foo(const Foo &&)': attempting to reference a deleted function
 Je travaille avec Visual Studio 2017.
Merci par avance :)