我想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