Kotlin: [Internal Error] org.jetbrains.kotlin.backend.common.BackendException: Backend Internal【报错】

Kotlin: [Internal Error] org.jetbrains.kotlin.backend.common.BackendException: Backend Internal【报错】,第1张

所遇问题

今天在 IDEA 调试代码时,遇到了一个问题,IDEA 编写时代码也没有标红报错,但运行和编译后,都会失败,并报错:

Kotlin: [Internal Error] org.jetbrains.kotlin.backend.common.BackendException: Backend Internal error: Exception during IR lowering

我的部分代码如下:

fun main() {
}

class Solution {
    fun exist(board: Array<CharArray>, word: String): Boolean {
        if (word == "") {
            return true
        }
        if (board.size == 0 || board[0].size == 0) {
            return false
        }
        for (x in 0..board.size - 1) {
            for (y in 0..board[0].size - 1) {
                if (board[x][y] == word.get(0)) {
                    if (exist(board, word, 0, Array(board.size){BooleanArray(board[0].size, return false)}, x, y)) { return true }
                }
            }
        }

        return false
    }


    fun exist(board: Array<CharArray>, word: String, index : Int, hasInclude : Array<BooleanArray>, x : Int, y : Int) : Boolean {
        if (index == word.length) {
            return true
        }
        if (x < 0 || x >= board.size || y < 0 || y >= board[0].size || hasInclude[x][y]) {
            return false
        }
        if (board[x][y] == word.get(index)) {
            hasInclude[x][y] = true
            val ans = exist(board, word, index + 1, hasInclude, x + 1, y) || exist(board, word, index + 1, hasInclude, x - 1, y) || exist(board, word, index + 1, hasInclude, x, y + 1) || exist(board, word, index + 1, hasInclude, x, y - 1)
            hasInclude[x][y] = false
            return ans
        }

        return false
    }
}
解决问题

问题出在函数式接口的使用错误(楼主不会使用函数式子,但猜着写了,同时 IDEA 没有报错,还以为自己写对了。。。运行报错也不是报的这里代码书写有误。。。), 错误如下所示:


修改示例:

or

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/992432.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存