You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio提示std没有成员move(std::move)的报错原因是什么

报错触发原因

  • 缺失必要头文件:std::move 定义在C++标准库的 <utility> 头文件中,你当前的代码未引入该头文件,编译器无法识别std::move符号,因此抛出「std没有成员move」的错误。部分其他标准库头文件可能会间接引入<utility>,但依赖间接引入属于不规范写法,不同编译器、不同版本的实现逻辑不同,很容易出现兼容问题。
  • C语言标准配置过低:std::move是C11版本新增的特性,如果你当前的VS2019项目配置的语言标准低于C++11,也会触发该报错。

修复步骤

  1. 在Main.cpp的头部添加<utility>头文件引用,修改后的代码如下:
#include <utility>
#include "Integer.h"
int main() {
       //1st object made
       Integer i1(5);
       Integer i2(std::move(i1));
       return 0;
}
  1. 确认项目语言标准配置符合要求:
    • 右键点击解决方案资源管理器中的项目名称,选择「属性」
    • 依次展开「配置属性」→「C/C++」→「语言」
    • 将「C语言标准」选项设置为 *ISO C11 标准(/std:c11)* 及以上版本,可根据需求选择C17、C++20等更高版本获得更完善的标准库支持。

内容的提问来源于stack exchange,提问作者kriti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 09:57:02