flash as3 - ошибка переполнения стека в операторе case / switch - PullRequest
1 голос
/ 24 февраля 2011

Ух ты - я немного взволнован - я получаю ошибку переполнения стека.Хотя я не уверен, почему ...

Это мой код:

switch (direction) {
    case "left" :

        if (project_array[cp].projectThumb.thumbActive == false){
            if (cp>0){ cp--; }
            checkActive("left")
        } else {
            unloadProject();
        }
    break;
    case "right" :
        if (project_array[cp].projectThumb.thumbActive == false){
            if (cp<(tp-1)){ cp++; }
            checkActive("right")
        } else {
            unloadProject();
        }
    break;
}

Ответы [ 2 ]

3 голосов
/ 24 февраля 2011

Это связано с ошибкой компилятора, обычно вы можете избежать ее, заключая в себе содержимое вашего дела с помощью {} =>

switch (direction) {
    case "left" :
    { // --> here
        if (project_array[cp].projectThumb.thumbActive == false){
            if (cp>0){ cp--; }
            checkActive("left")
        } else {
            unloadProject();
        }
    } // -> and here
    break;
    case "right" : 
    { // --> here
        if (project_array[cp].projectThumb.thumbActive == false){
            if (cp<(tp-1)){ cp++; }
            checkActive("right")
        } else {
            unloadProject();
        }
    } // -> and here
    break;
}
1 голос
/ 21 июня 2011

Я не уверен, была ли это ошибка во время последнего ответа, но на сегодняшний день это считается условным кодом в flex:

http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions

...