相关疑难解决方法(0)

在中间情况下声明变量

当在不同大小写的情况下声明相同的变量名时,为什么会收到警告。

switch()
{
   case 1:
     int a;
   break;

   case 2:
     int a;
   break;

}
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有警告的情况下执行此操作。(不将其放在开关前)

c

4
推荐指数
1
解决办法
80
查看次数

为什么我的切换案例有时需要在Objective-C中使用大括号?

有时Xcode会在案例后的行上显示错误" 预期表达式 ".例如,Xcode指向带有红色箭头的UserContentViewController:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    switch (indexPath.row) {
        case IndexVideo: 
            UserContentViewController* detailViewController = [[UserContentViewController alloc] initWithUser:self.user];
            [self.navigationController pushViewController:detailViewController animated:YES];
            break;

    }
}
Run Code Online (Sandbox Code Playgroud)

如果我在我的案子周围放置括号,错误就消失了.首先,我想知道不使用大括号的问题是什么.在任何其他语言的情况下,我从未使用大括号.其次,为什么Xcode只会在极少数情况下抱怨我的案件?我无法辨别哪种类型的代码会触发此错误.

objective-c

3
推荐指数
1
解决办法
2945
查看次数

c ++在switch语句中声明变量

switch在我的C++代码中有一个语句,并且想在该语句中声明并使用一个变量case.该变量仅在该特定范围内使用case.

switch(mode)
{
case abc:
    ...
    struct commonData;
    commonData = manager->getDataByIndex(this->Data.particularData);
    int someInt = 1;
    ...
    break;
case xyz:
    ...
    commonData = Manager->getDataByIndex(this->Data.particularData);
    break;
default:
    ...
    break;
}
Run Code Online (Sandbox Code Playgroud)

我试过简单地声明,初始化和使用变量(int someInt)就在里面case,但这给了我一些编译错误......在SO上遇到这个问题:为什么变量不能在switch语句中声明?,我尝试做了答案的建议,并添加{}case问题中,所以我switch现在看起来像这样:

switch(mode)
{
case abc:
    {
    ...
    struct commonData;
    commonData = manager->getDataByIndex(this->Data.particularData);
    int someInt = 1;
    ...
    break;
    }
case xyz:
    ...
    commonData = manager->getDataByIndex(this->Data.particularData);
    break;
default:
    ...
    break;
}
Run Code Online (Sandbox Code Playgroud)

但我现在收到编译错误,说明:在一个变量(commonData)的"未声明的标识符",在该 …

c++ scope switch-statement variable-declaration

3
推荐指数
1
解决办法
3836
查看次数

删除 printf(""); 破坏我的程序!我收到错误:预期的表达式”在 switch case 后生成一个字符

这是仅使用空白方法就会发生的正常错误吗?顺便说一句,我使用了自定义 Makefile。

case MODE: //mode is just an enum stackoverflow

  printf("");

  char temp = '5';
Run Code Online (Sandbox Code Playgroud)

CSftp.c:335:9: 错误:预期表达式 char temp = '5';

删除 printf(""); 导致错误出现。或者这是来自遥远问题的症状。

c

3
推荐指数
2
解决办法
97
查看次数

C中的变量定义忽略

码:

int main()  
{
  int a=1;
  switch(a)
  {
    int b=20;

    case 1:
    printf("b is %d\n",b);
    break;

    default:
    printf("b is %d\n",b);
    break;
  }
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:当b的声明发生在这里时,它为b打印一些垃圾值为什么b在这里没有用20初始化?

c variables

2
推荐指数
1
解决办法
336
查看次数

如何在switch语句中修复NSString Expected表达式错误?

我在这个NSString中下面代码的第一行的switch语句中得到一个"预期表达式"错误: NSString *emailTitle = @"some text";

break;
    case 4:
        // mail
        // Email Subject
        NSString *emailTitle = @"some text";
        // Email Content
        NSString *messageBody = @"http://www.example.com/";
        // To address
        NSArray *toRecipents = [NSArray arrayWithObject:@""];

        MFMailComposeViewController *mc = [[MFMailComposeViewController alloc] init];
        mc.mailComposeDelegate = self;
        [mc setSubject:emailTitle];
        [mc setMessageBody:messageBody isHTML:NO];
        [mc setToRecipients:toRecipents];

        // Present mail view controller on screen
        [self presentViewController:mc animated:YES completion:NULL];

        break;
    case 5:
Run Code Online (Sandbox Code Playgroud)

没有这段电子邮件代码,switch语句可以正常工作.

谢谢你的帮助

iphone objective-c nsstring ios

2
推荐指数
1
解决办法
1516
查看次数

我的代码中的switch语句出错.(C++)

我在这个棒球计算器中的switch语句出错了.错误说:"控制转移绕过初始化:"

switch语句用于您希望在此程序中执行的计算类型,例如:

在基本百分比击球平均值等...

// Baseball Stat.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream>
#include <string>
#include <cmath>

using namespace std;
char menu_choice;
// Batting average formula.

float b_average(float hits, float bats) {return hits/bats;};

// On base percentage formula

float OBP(float hits, float walks, float Hit_by_Pitch, float bats, float sac_flys) {return (hits+walks+Hit_by_Pitch) / (bats+walks+Hit_by_Pitch+sac_flys);};

// Strikeout Ratio Formula 

float Strikeout_ratio(float strikeouts, float bats) {return strikeouts/bats;};

// Fielding Average Formula 

float fielding_average(float putouts, float assists, …
Run Code Online (Sandbox Code Playgroud)

c++ switch-statement

2
推荐指数
1
解决办法
292
查看次数

Xcode 4.6.3"预期表达"

我坚持使用我正在用Xcode编写的C程序.经过几个小时的工作后,Xcode突然开始抱怨"预期的表达"消息:

  switch(cmd) {

    case 'S':
      state = sstart;
      accpos = accmax = varnum = 0;
      inquote = inddstar = false;
      break;

    case 'L':
      char c;   // *** expected expression
      int i = 0;
      bool processed;

      while( (c = buff[i++]) != '\0') {
        acc[accmax++] = c;
Run Code Online (Sandbox Code Playgroud)

之后Xcode抱怨说,只要使用c,就不会定义变量c.

我在Xcode中试过"show invisibles"无济于事.使用clang或gcc手动编译程序会给出相同的错误消息.

在预处理器步骤之后,这部分代码如下所示(使用clang -E获得):

  switch(cmd) {

    case 'S':
      state = sstart;
      accpos = accmax = varnum = 0;
      inquote = inddstar = 0;
      break;

    case 'L':
      char c;
      int i = 0; …
Run Code Online (Sandbox Code Playgroud)

c

2
推荐指数
1
解决办法
3539
查看次数

为什么我无法初始化 switch case 块中的变量

我正在编写一些 Win32 程序,遇到一个小问题,为什么我无法在 switch case 块中初始化变量。

就像这样:在此输入图像描述

当我这样做的时候,那就没问题了。在此输入图像描述

现在我想知道为什么。

c++ winapi

2
推荐指数
1
解决办法
2345
查看次数

C++语法我不明白

我发现了一个具有以下语法的C++代码:

void MyClass::method()
{
    beginResetModel();

    {
        // Various stuff
    }

    endResetModel();
}
Run Code Online (Sandbox Code Playgroud)

我不知道为什么有{ }一个行结束后;但似乎没有问题使其编译和运行.是否有可能这与代码可能是异步的事实有关(我还不确定)?或者也许{ }只是在这里划分代码的一部分,并没有真正有所作为,但说实话,我怀疑这一点.我不知道,有人知道这个语法是什么意思吗?

更多信息:没有其他参考beginResetModel,resetModelResetModel整个项目(用grep搜索).顺便说一下这个项目是Qt之一.也许这是我没有听说过的另一个与Qt相关的宏.

c++ syntax

2
推荐指数
1
解决办法
140
查看次数