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

为什么OnlineGDB会忽略我C++类成员函数的第二个参数?

问题原因及修复方案

这个报错完全是C++语法书写错误导致,和设备内存、浏览器状态没有任何关联。

错误根因

C++中带变量名的数组形参有固定语法要求:必须是元素类型 变量名[],你在.cpp文件的swap函数定义中写成了const string[] from这种元素类型[] 变量名的错误格式,打乱了编译器的参数解析逻辑,导致编译器错误地将你的双参数函数识别为单参数函数,无法和头文件的双参数声明匹配。

修复方法

两种方案二选一即可,无需修改头文件的原有声明:

  • 调整形参书写顺序,把变量名移到方括号前:
void list::swap(const string from[], const string to[])
  • 改用等价的指针写法,可读性更高:
void list::swap(const string* from, const string* to)

内容的提问来源于stack exchange,提问作者Pål Hart

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 15:39:00