当我尝试交换两个向量时,其中一个向量包含文本对象而另一个为空,我收到此错误:
6363 error C2664: 'void std::vector<mainmenu,std::allocator<_Ty>>::swap(std::vector<_Ty,std::allocator<_Ty>> &)' : cannot convert argument 1 from 'std::vector<textDisplay,std::allocator<_Ty>>' to 'std::vector<mainmenu,std::allocator<_Ty>> &' c:\sfml-2.3.2\sfml\main.cpp 254287
6463 IntelliSense: a reference of type "std::vector<textDisplay, std::allocator<textDisplay>> &" (not const-qualified) cannot be initialized with a value of type "std::vector<mainmenu, std::allocator<mainmenu>>" c:\SFML-2.3.2\SFML\main.cpp 254287
这是其中一个向量包含的对象类型的示例。第二个向量为空:
textDisplayMainmenu1.text.setString("Broadsword");
textDisplayMainmenu1.text.setPosition(positionX, positionY1);
textDisplayMainmenuVector1.push_back(textDisplayMainmenu1);
当我尝试调用交换成员函数时,我得到了上述错误:
textDisplayVector2.swap(mainmenu1.textDisplayMainmenuVector1);
为什么这不起作用?我能做些什么才能让它发挥作用?