我正在用Java编写一个Java编译器,JVM作为目标机器,我正在努力让函数调用工作。但是当我尝试运行我的编译器创建的类文件时,我收到此错误: “线程中的异常”主“java.lang.VerifyError :(类:测试,方法:测试签名:(I)I)函数中的错误返回类型”。
示例代码:
public class Test
{
public static int test(int a)
{
return a;
}
public static void main(String[] args)
{
int b;
b = test(b);
}
}
创建的类文件本身:
(如果您尝试下载它,Google会说它包含病毒。所以我提供了一张图片
创建的类文件:
我不知道该类文件有什么问题。
答案 0 :(得分:2)
方法test
以return
指令而不是ireturn
指令结束。您不能使用前者从方法返回int;你必须使用后者。