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

C++报错“redefinition of formal parameter”是什么意思?该如何解决?

错误含义

redefinition of formal parameter 即 形参重定义错误。
你编写的getGuessFromUser函数的形参列表已经声明了名为guess的int类型变量,该变量的作用域覆盖整个函数体。你在函数内部又重复写了int guess;语句,相当于在同一个作用域下定义了两个同名变量,不符合C++的语法规则,因此编译器抛出该错误。

修复方法

结合你的函数逻辑,不需要接收外部传入的初始guess值,有两种可行修复方案:

  • 方案一(更推荐):删除多余的形参声明
int getGuessFromUser()
{
    std::cout << "Guess my lucky number between 0 and 10: ";
    int guess;
    std::cin >> guess;
    return guess;
}
  • 方案二:删除函数内部的重复变量定义,直接复用形参
int getGuessFromUser(int guess)
{
    std::cout << "Guess my lucky number between 0 and 10: ";
    std::cin >> guess;
    return guess;
}

方案二的形参没有实际作用,传入的初始值会被用户输入直接覆盖,因此优先选择方案一。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 21:45:03