gpt4 book ai didi

C++交叉初始化错误

转载 作者:太空狗 更新时间:2023-10-29 21:15:04 30 4
gpt4 key购买 nike

当编译下面的代码时,它给我提供了两个错误; “跳转到案例标签”和“跨越 std::ofstream SaveLogin 的初始化”。我目前正在使用带有 gnu gcc 编译器的代码块。

switch(choice) {
case 1:
// login
case 2:
// register
ofstream SaveLogin;
break;
case 3:
// reset password

;}

感谢查看我的问题 - 编辑:我的问题被标记为与另一个问题重复,但指定的问题并未完全解决我的问题。这篇文章专门针对我的问题,但我希望它能希望任何其他遇到同样问题的人

最佳答案

编译器是正确的:C++ 不允许您跳过同一范围内的变量声明。 goto 也有类似的限制。

如果您在所有情况下都需要SaveLogin,请在开关 上方声明它。如果您仅在 case 2 中需要它,则使用作用域 block :

case 2 /*not directly relevant but there's no need for the parentheses*/:
{
// register
ofstream SaveLogin; /*ToDo - more logic here unless it's contained
fully within construction and destruction*/
break;
}
case 3:

关于C++交叉初始化错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38917805/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com