相关疑难解决方法(0)

如何在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
查看次数

目标C切换问题

我的代码看起来像这样:

-(void)touchBegan:(HWPoint *)point {  
    switch (self.states) {  
        case HWDrawState:  
            HWShape *shape = [[HWShapeManager sharedInstance]  addShapeWithType:_shapeClass];  
            break;  
        case HWSelectState:  
            break;  
        case HWDeleteState:  
            break;  
        default:  
            break;  
    }  
}
Run Code Online (Sandbox Code Playgroud)

为什么HWShape存在问题....?我收到了一个错误:

"错误:'HWShape'之前的预期表达式".

这是为什么?非常感谢您的回复.

objective-c

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

c ++类切换案例

    switch(choice)
    {
        case 1:
            uinstance1.addNewProduct(data);
            break;
        case 2:
            break;
        case 3:
            break;
        case 4:
            break;
        case 5:
            break;
        case 6:
            break;
        case 7:
            uinstance1.listAllProducts(data);
            break;
        case 8:
            break;
        case 9:
            break;
        case 10:

            //name,category,barcode,price,manufacturer,noinstock,soldpermonth,expirydate,discount
            //  Perishable(string,string,string,double,string,int,int);
            Perishable item0("Ferrari","Automobile","9999",2999.99,"Popular",5,0);

            data.addNew(item0);

            break;
        default:
            cout<<"Wrong Choice "<<endl;
            system("pause");
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

嗨,我一直在考虑这个错误很长一段时间,似乎无法弄清楚这个问题.

错误C2361:'default'标签跳过初始化'item0':参见'item0'的声明

一些帮助将不胜感激.谢谢

c++ class switch-statement

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

在switch case语句中初始化数组

奇怪的是,我c在一个switch语句中初始化了以下数组,完全期望我的编译器说不,你不能这样做,但令我惊讶的是它在MSVC,GCC和Clang编译.在线示例

我假设标准允许它,在这种情况下我的问题是为什么?...考虑到case语句中不允许声明和初始化非数组.

int main()
{
    char ch;

    switch( ch )
    {
    case 'x':
        //int a = 42; // NOT OKAY
        break;

    case 'y':
        int b;
        b = 42;    // OKAY

    case 'z':
        int c[2] = { 0 , 1 };  // OKAY (Huh???)
        break;
    };
}
Run Code Online (Sandbox Code Playgroud)

c c++ arrays initialization switch-statement

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

我需要使值可修改

我需要能够更新这些变量。

  • 基础伤害
  • 准确性
  • 射速
  • 范围

我需要能够增加基本伤害或准确性,射速或射程,一旦添加,我需要能够通过向变量添加更多点来不断更新变量所以。

需要减去总点数,但是如果您继续在菜单中购买商品,则在首次减去变量后,变量根本不会改变。

更新变量后,您应该能够查看积分值和武器统计数据的总和,并在重复购买后查看更改。

购买1次后的变量仍保持停滞状态。

对于这么多的文本我很抱歉,我只是不确定从这些代码段中获取什么。

主要问题是在变量增加或减少后如何修改它的值。

#include <iostream>
#include <string>
using namespace std;
int i; 
int x;
int g;
class shotgun
{
private:
int a = 40, b = 15, c = 10, d = 6, j = 10, p = 10, v = 5, n = 2, o = 5, k = 5;
int pointstotal = p -= v;
int baseDamage = a += j;
int accuracy = b += k;
int range = …
Run Code Online (Sandbox Code Playgroud)

c++

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

在switch语句中的case标签中声明相同的变量

我想知道我们是否可以宣布下面的内容.我的要求是使用相同的变量但不同的结构.如果可以做到以下情况,你们可以帮助我吗?请建议是否还有其他选择.

switch(x)
{
  case 1:
    struct_1 *name = NULL;
    break;
  case 2:
    struct_2 *name = NULL;
    break;
  case 3:
    struct_3 *name = NULL;
    break;
  default:
}
Run Code Online (Sandbox Code Playgroud)

问候

c declaration switch-statement

0
推荐指数
1
解决办法
621
查看次数

c错误:case标签不会减少为整数常量

这是错误所关注的开关案例:

switch(event.type)
        {
        case SDL_Quit:
            for (int i=0;i<NUMMENU;i++)
                SDL_FreeSurface(menus[i]);
            return 1;

        case SDL_MOUSEMOTION:
            x=event.motion.x;
            y=event.motion.y;
            for(int i=0;i<NUMMENU;i++)
            {
                if(x>=position[i].x && x<=position[i].x+position[i].w && y>=position[i].y && y<=position[i].y+position[i].h)
                    {
                    if(!selected[i])
                    {
                        selected[i]=1;
                        SDL_FreeSurface(menus[i]);
                        menus[i]=TTF_RenderText_Solid(font,labels[i],color[1]);
                    }
                }else{
                        if(selected[i])
                        {
                            selected[i]=0;
                            SDL_FreeSurface(menus[i]);
                            menus[i]=TTF_RenderText_Solid(font,labels[i],color[0]);
                        }
                      }
            }

        case SDL_MOUSEBUTTONDOWN:
            x=event.button.x;
            y=event.button.y;
            for(int i=0;i<NUMMENU;i++)
                if(x>=position[1].x && x<=position[1].x+position[i].w && y>=position[i].y && y<=position[i].y+position[i].h)
                {
                    for(int j=0;j<NUMMENU;j++)
                        SDL_FreeSurface(menus[j]);
                    return i;
                }
                break;
        case SDL_KEYDOWN:
            if(event.key.keysym.sym==SDLK_ESCAPE)
            {
                for(int i=0;i<NUMMENU;i++)
                    SDL_FreeSurface(menus[i]);
                return 0;
            }

        }
Run Code Online (Sandbox Code Playgroud)

我有这个错误,我不知道为什么以及我该怎么做才能解决这个问题.我试图添加休息; 在每个案件的最后但没有结果.

如果您需要更多代码或更多信息,我可以给予精确度.

问候,

c sdl switch-statement

0
推荐指数
1
解决办法
1311
查看次数

在switch语句中通过引用返回

我想通过引用返回到交换机内部的变量来返回,例如:

sometype & getbar();

void foo() {
        switch ( {statement} ) {
        case {statement}:
            sometype & handle = getbar();
        ...
Run Code Online (Sandbox Code Playgroud)

但我收到编译器错误:

'case'标签跳过'identifier'的初始化

'default'标签跳过'identifier'的初始化

它似乎不可能这样做:

void foo() {
        sometype & handle;
        switch ( {statement} ) {
        case {statement}:
            handle = getbar();
        ...
Run Code Online (Sandbox Code Playgroud)

因为引用变量需要初始化.

有没有办法保持switch语句?

c++ syntax reference switch-statement c++11

0
推荐指数
1
解决办法
209
查看次数

Objective-C if vs switch

我无法理解为什么这适用于if声明而不是switch:

if ((int)typeOfHall == 1) {//LocalHall
    NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Game"];
    NSPredicate *p = [NSPredicate predicateWithFormat:@"player_id == %@ ",[[NSUserDefaults standardUserDefaults] valueForKey:@"LoggedUserId"]];
    request.predicate = p;
}
Run Code Online (Sandbox Code Playgroud)

下面的代码不起作用(编译错误:( Expected expression在NSFetchRequest上)):

switch ((int)typeOfHall) {
    case 1:
        NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Game"]; //Error Expected expression
        NSPredicate *p = [NSPredicate predicateWithFormat:@"player_id == %@ ",[[NSUserDefaults standardUserDefaults] valueForKey:@"LoggedUserId"]];
        request.predicate = p;
        break;
    default:
        break;             
}
Run Code Online (Sandbox Code Playgroud)

我不知道为什么会这样.我认为switch和if语句是相似的,但在这种情况下它似乎是非常不同的.

你知道为什么会这样吗?

if-statement objective-c switch-statement

0
推荐指数
1
解决办法
76
查看次数

初学者 C++:为什么这个 switch 语句给我一个错误?

int menuDecision = displayMenu();

  //WHILE USER DOESN'T SELECT QUIT
while(menuDecision != 3){
/*
    if(menuDecision == 1){
        Queue myQueue;
    }
    else{
        Stack myStack;
    }
*/

    switch(menuDecision){
        case 1: Queue myQueue;
                break;
        case 2: Stack myStack;
                break;
    }

    menuDecision = displayMenu();

}
Run Code Online (Sandbox Code Playgroud)

为什么当我将上面的代码作为 switch 语句运行时会出现错误,但当我使用 if/else-if 时它会起作用?基本上,程序根据菜单中选择的内容来实例化一个对象。一旦创建了对象,就会调用构造函数,构造函数会调用另一个函数,依此类推...基本上,每次在 while 循环中都会创建一个新对象。由于我在代码中没有得到很多反馈,上述实现是否会被视为“糟糕的编程”?

谢谢!

编辑:错误是:

main.cpp:27:4: error: cannot jump from switch statement to this case label
                        case 2: Stack myStack;
                        ^
main.cpp:25:18: note: jump bypasses variable initialization
                        case 1: Queue myQueue;
Run Code Online (Sandbox Code Playgroud)

c++ switch-statement

0
推荐指数
1
解决办法
2705
查看次数