我想使用std::move
中的<utility>
功能。所以我在我的代码顶部和其他所有代码中都添加了一个包含。但是,当我使用move函数时,eclipse会将其强制为红色并且不会编译。我知道我正在使用c ++ 11,因为我可以声明移动构造函数,但这不起作用。我使用GCC编译,我使用-std = c ++ 11选项。我也把它放在我的链接器中。在此之前#include <utility>
不会出现。我需要包含其他内容吗?
这是基本的延伸。似乎没有定义std :: move(...)。
#include <utility>
#include <vector>
int main()
{
std::vector<int> v1;
std::vector<int> v2;
v1 = std::move(v2); // Function move could not be resolved.
return 0;
}
此处还有我在编译器上设置的选项-O3 -g3 -Wall -c -fmessage-length = 0 -std = c ++ 11